Compare commits

...

13 Commits

Author SHA1 Message Date
738659dfbc fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com>
2023-11-28 16:43:20 -08:00
5054fd19d3 fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com>
2023-11-28 16:37:47 -08:00
058b4dc40a got further
Signed-off-by: Jess Frazelle <github@jessfraz.com>
2023-11-28 15:17:44 -08:00
373b5ef4ae better
Signed-off-by: Jess Frazelle <github@jessfraz.com>
2023-11-28 14:29:16 -08:00
6b8807feea improvements
Signed-off-by: Jess Frazelle <github@jessfraz.com>
2023-11-28 14:16:05 -08:00
b6aa9ab98b better working ws
Signed-off-by: Jess Frazelle <github@jessfraz.com>
2023-11-28 13:13:13 -08:00
be246702fd Bump urllib3 from 1.26.15 to 1.26.18 (#161)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.15 to 1.26.18.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.15...1.26.18)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 16:01:44 -08:00
68d7a6d9a3 Bump pillow from 10.0.0 to 10.0.1 (#158)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.0.0 to 10.0.1.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.0.0...10.0.1)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 16:01:35 -08:00
6b2fe3decb Update api spec (#162)
* YOYO NEW API SPEC!

* I have generated the latest API!

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-27 16:01:20 -08:00
4f29f55190 updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
2023-10-17 19:39:06 -07:00
6ad21a2c87 Update api spec (#159)
* YOYO NEW API SPEC!

* I have generated the latest API!

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-17 15:35:56 -07:00
036965255a Update api spec (#157)
* YOYO NEW API SPEC!

* I have generated the latest API!

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-12 11:02:59 -05:00
4120a139cd Update api spec (#152)
* YOYO NEW API SPEC!

* I have generated the latest API!

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-29 18:04:23 -07:00
301 changed files with 37082 additions and 34205 deletions

View File

@ -1,4 +1,6 @@
from typing import Any, Dict, Optional, Union, List
import json
import bson
from websockets.sync.client import connect as ws_connect
from websockets.client import connect as ws_connect_async
@ -16,27 +18,38 @@ from ...types import Response
def _get_kwargs(
{% for arg in args %}
{% if arg.in_query %}
{% if arg.is_optional == False %}
{{arg.name}}: {{arg.type}},
{% endif %}
{% endif %}
{% endfor %}
*,
client: Client,
{% for arg in args %}
{% if arg.in_query %}
{% if arg.is_optional %}
{{arg.name}}: {{arg.type}},
{% endif %}
{% endif %}
{% endfor %}
) -> Dict[str, Any]:
url = "{{url_template}}".format(client.base_url{% for arg in args %}{% if arg.in_url %}, {{arg.name}}={{arg.name}}{% endif %}{% endfor %}) # noqa: E501
{% for arg in args %}
{% if arg.in_query %}
if {{arg.name}} is not None:
{% if arg.type == "bool" %}
if "?" in url:
url = url + "&{{arg.name}}=" + str({{arg.name}}).lower()
else:
url = url + "?{{arg.name}}=" + str({{arg.name}}).lower()
{% else %}
if "?" in url:
url = url + "&{{arg.name}}=" + str({{arg.name}})
else:
url = url + "?{{arg.name}}=" + str({{arg.name}})
{% endif %}
{% endif %}
{% endfor %}
@ -48,66 +61,126 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
{% if has_request_body %}"content": body,{% endif %}
}
def sync(
{% for arg in args %}
{% if arg.in_query %}
{% if arg.is_optional == False %}
{{arg.name}}: {{arg.type}},
{% endif %}
{% endif %}
{% endfor %}
*,
client: Client,
{% for arg in args %}
{% if arg.in_query %}
{% if arg.is_optional %}
{{arg.name}}: {{arg.type}},
{% endif %}
{% endif %}
{% endfor %}
) -> ClientConnection:
{%if docs%}"""{{docs}}""" # noqa: E501{% endif %}
kwargs = _get_kwargs(
{% for arg in args %}
{% if arg.in_query %}
{{arg.name}}={{arg.name}},
{% endif %}
{% endfor %}
client=client,
)
with ws_connect(kwargs["url"].replace("https://", "wss://"), additional_headers=kwargs["headers"]) as websocket:
return websocket # type: ignore
# Return an error if we got here.
return Error(message="An error occurred while connecting to the websocket.")
return ws_connect(kwargs["url"].replace("http", "ws"), additional_headers=kwargs["headers"], close_timeout=None, compression=None, max_size=None) # type: ignore
async def asyncio(
{% for arg in args %}
{% if arg.in_query %}
{% if arg.is_optional == False %}
{{arg.name}}: {{arg.type}},
{% endif %}
{% endif %}
{% endfor %}
*,
client: Client,
{% for arg in args %}
{% if arg.in_query %}
{% if arg.is_optional %}
{{arg.name}}: {{arg.type}},
{% endif %}
{% endif %}
{% endfor %}
) -> WebSocketClientProtocol:
{%if docs%}"""{{docs}}""" # noqa: E501{% endif %}
kwargs = _get_kwargs(
{% for arg in args %}
{% if arg.in_query %}
{{arg.name}}={{arg.name}},
{% endif %}
{% endfor %}
client=client,
)
async with ws_connect_async(kwargs["url"].replace("https://", "wss://"), extra_headers=kwargs["headers"]) as websocket:
return websocket
return await ws_connect_async(kwargs["url"].replace("http", "ws"), extra_headers=kwargs["headers"])
# Return an error if we got here.
return Error(message="An error occurred while connecting to the websocket.")
{% if has_request_body %}
class WebSocket:
"""A websocket connection to the API endpoint."""
ws: ClientConnection
def __init__(self,
{% for arg in args %}
{% if arg.in_query %}
{% if arg.is_optional == False %}
{{arg.name}}: {{arg.type}},
{% endif %}
{% endif %}
{% endfor %}
client: Client,
{% for arg in args %}
{% if arg.in_query %}
{% if arg.is_optional %}
{{arg.name}}: {{arg.type}},
{% endif %}
{% endif %}
{% endfor %}
):
self.ws = sync(
{% for arg in args %}
{% if arg.in_query %}
{{arg.name}},
{% endif %}
{% endfor %}
client=client,
)
def __enter__(self,
):
return self
def __exit__(self, exc_type, exc_value, traceback):
self.close()
def send(self, data:{% for arg in args %}{%if arg.name == "body" %}{{arg.type}}{% endif %}{% endfor %}):
"""Send data to the websocket."""
self.ws.send(json.dumps(data.to_dict()))
def send_binary(self, data:{% for arg in args %}{%if arg.name == "body" %}{{arg.type}}{% endif %}{% endfor %}):
"""Send data as bson to the websocket."""
self.ws.send(bson.BSON.encode(data.to_dict()))
def recv(self) -> {{response_type}}:
"""Receive data from the websocket."""
message = self.ws.recv()
return {{response_type}}.from_dict(json.loads(message))
def close(self):
"""Close the websocket."""
self.ws.close()
{%endif%}

View File

@ -28,11 +28,18 @@ def _get_kwargs(
{% for arg in args %}
{% if arg.in_query %}
if {{arg.name}} is not None:
{% if arg.type == "bool" %}
if "?" in url:
url = url + "&{{arg.name}}=" + str({{arg.name}}).lower()
else:
url = url + "?{{arg.name}}=" + str({{arg.name}}).lower()
{% else %}
if "?" in url:
url = url + "&{{arg.name}}=" + str({{arg.name}})
else:
url = url + "?{{arg.name}}=" + str({{arg.name}})
{% endif %}
{% endif %}
{% endfor %}

View File

@ -35,7 +35,7 @@ def main():
# Add the client information to the generation.
data["info"]["x-python"] = {
"client": """# Create a client with your token.
from kittycad import Client
from kittycad.client import Client
client = Client(token="$TOKEN")
@ -43,7 +43,7 @@ client = Client(token="$TOKEN")
# Create a new client with your token parsed from the environment variable:
# `KITTYCAD_API_TOKEN`.
from kittycad import ClientFromEnv
from kittycad.client import ClientFromEnv
client = ClientFromEnv()
@ -433,7 +433,7 @@ from kittycad.types import Response
for optional_arg in optional_args:
params_str += optional_arg
if request_body_type:
if request_body_type and "x-dropshot-websocket" not in endpoint:
if request_body_type == "str":
params_str += "body='<string>',\n"
elif request_body_type == "bytes":
@ -683,6 +683,11 @@ async def test_"""
if len(endpoint_refs) == 0:
template_info["response_type"] = ""
if "x-dropshot-websocket" in endpoint:
template_info["response_type"] = (
template_info["response_type"].replace("Optional[", "").replace("]", "")
)
if "description" in endpoint:
template_info["docs"] = endpoint["description"]
@ -1195,20 +1200,85 @@ def generateAnyOfType(path: str, name: str, schema: dict, data: dict):
all_options.append(object_name)
# Write the sum type.
f.write("from typing import Union\n")
f.write(name + " = Union[")
for num, option in enumerate(all_options, start=0):
if num == 0:
f.write(option)
else:
f.write(", " + option + "")
f.write("]\n")
description = getAnyOfDescription(schema)
content = generateUnionType(all_options, name, description)
f.write(content)
# Close the file.
f.close()
def getAnyOfDescription(schema: dict) -> str:
if "description" in schema:
return schema["description"]
else:
return ""
def generateUnionType(types: List[str], name: str, description: str) -> str:
ArgType = TypedDict(
"ArgType",
{
"name": str,
"var0": str,
"var1": str,
"check": str,
"value": str,
},
)
TemplateType = TypedDict(
"TemplateType",
{
"types": List[ArgType],
"description": str,
"name": str,
},
)
template_info: TemplateType = {
"types": [],
"description": description,
"name": name,
}
for type in types:
if type == "SuccessWebSocketResponse":
template_info["types"].append(
{
"name": type,
"var0": randletter(),
"var1": randletter(),
"check": "success",
"value": "True",
}
)
elif type == "FailureWebSocketResponse":
template_info["types"].append(
{
"name": type,
"var0": randletter(),
"var1": randletter(),
"check": "success",
"value": "False",
}
)
else:
template_info["types"].append(
{
"name": type,
"var0": randletter(),
"var1": randletter(),
"check": "type",
"value": '"' + type + '"',
}
)
environment = jinja2.Environment(loader=jinja2.FileSystemLoader("generate/"))
template_file = "union-type.py.jinja2"
template = environment.get_template(template_file)
content = template.render(**template_info)
return content
def generateOneOfType(path: str, name: str, schema: dict, data: dict):
logging.info("generating type: ", name, " at: ", path)
@ -1309,20 +1379,21 @@ def generateOneOfType(path: str, name: str, schema: dict, data: dict):
f.write("from typing import Any\n")
f.write(name + " = Any")
else:
f.write("from typing import Union\n")
f.write(name + " = Union[")
for num, option in enumerate(all_options, start=0):
if num == 0:
f.write(option)
else:
f.write(", " + option + "")
f.write("]\n")
description = getOneOfDescription(schema)
content = generateUnionType(all_options, name, description)
f.write(content)
# Close the file.
f.close()
def getOneOfDescription(schema: dict) -> str:
if "description" in schema:
return schema["description"]
else:
return ""
def generateObjectTypeCode(
name: str, schema: dict, type_name: str, data: dict, tag: Optional[str]
) -> str:
@ -1391,6 +1462,9 @@ def generateObjectTypeCode(
# Iternate over the properties.
for property_name in schema["properties"]:
property_schema = schema["properties"][property_name]
if "allOf" in property_schema and len(property_schema["allOf"]) == 1:
property_schema = property_schema["allOf"][0]
if property_name == tag:
f.write(
"\t\tfield_dict['"
@ -1404,6 +1478,34 @@ def generateObjectTypeCode(
f.write(
"\t\tif " + clean_parameter_name(property_name) + " is not UNSET:\n"
)
# We only want .to_dict on nested objects.
if "$ref" in property_schema:
actual_schema = data["components"]["schemas"][
property_schema["$ref"].replace("#/components/schemas/", "")
]
is_enum = isEnumWithDocsOneOf(actual_schema)
if (
"properties" in actual_schema
or "oneOf" in actual_schema
or "anyOf" in actual_schema
or "allOf" in actual_schema
) and not is_enum:
f.write(
"\t\t\tfield_dict['"
+ property_name
+ "'] = "
+ clean_parameter_name(property_name)
+ ".to_dict()\n"
)
else:
f.write(
"\t\t\tfield_dict['"
+ property_name
+ "'] = "
+ clean_parameter_name(property_name)
+ "\n"
)
else:
f.write(
"\t\t\tfield_dict['"
+ property_name
@ -2160,7 +2262,7 @@ def renderTypeFromDict(f, property_name: str, property_schema: dict, data: dict)
elif "$ref" in property_schema:
ref = property_schema["$ref"].replace("#/components/schemas/", "")
# Get the type for the reference.
data["components"]["schemas"][ref]
actual_schema = data["components"]["schemas"][ref]
f.write(
"\t\t_"
@ -2180,14 +2282,33 @@ def renderTypeFromDict(f, property_name: str, property_schema: dict, data: dict)
"\t\tif isinstance(_" + clean_parameter_name(property_name) + ", Unset):\n"
)
f.write("\t\t\t" + clean_parameter_name(property_name) + " = UNSET\n")
f.write("\t\tif _" + clean_parameter_name(property_name) + " is None:\n")
f.write("\t\t\t" + clean_parameter_name(property_name) + " = UNSET\n")
f.write("\t\telse:\n")
is_enum = isEnumWithDocsOneOf(actual_schema)
if (
"properties" in actual_schema
or "oneOf" in actual_schema
or "anyOf" in actual_schema
or "allOf" in actual_schema
) and not is_enum:
f.write(
"\t\t\t"
+ clean_parameter_name(property_name)
+ " = "
+ ref
+ ".from_dict(_"
+ clean_parameter_name(property_name)
+ ")\n"
)
else:
f.write(
"\t\t\t"
+ clean_parameter_name(property_name)
+ " = _"
+ clean_parameter_name(property_name)
+ " # type: ignore[arg-type]\n"
+ "\n"
)
f.write("\n")

View File

@ -0,0 +1,50 @@
from typing import Dict, Any, Union, Type, TypeVar
from typing_extensions import Self
import attr
from ..types import UNSET, Unset
GY = TypeVar("GY", bound="{{name}}")
@attr.s(auto_attribs=True)
class {{name}}:
{% if description %}
"""{{description}}"""
{% endif %}
type: Union[
{% for type in types %}
{{type.name}},
{% endfor %}
]
def __init__(self,
type: Union[
{% for type in types %}
{{type.name}},
{% endfor %}
]):
self.type = type
def to_dict(self) -> Dict[str, Any]:
{% for type in types %}{% if loop.first %}
if isinstance(self.type, {{type.name}}):
{{type.var0}} : {{type.name}} = self.type
return {{type.var0}}.to_dict()
{% else %}elif isinstance(self.type, {{type.name}}):
{{type.var0}} : {{type.name}} = self.type
return {{type.var0}}.to_dict()
{% endif %}{% endfor %}
raise Exception("Unknown type")
@classmethod
def from_dict(cls: Type[GY], d: Dict[str, Any]) -> GY:
{% for type in types %}{% if loop.first %}
if d.get("{{type.check}}") == {{type.value}}:
{{type.var1}} : {{type.name}} = {{type.name}}()
{{type.var1}}.from_dict(d)
return cls(type={{type.var1}})
{% else %}elif d.get("{{type.check}}") == {{type.value}}:
{{type.var1}} : {{type.name}} = {{type.name}}()
{{type.var1}}.from_dict(d)
return cls(type={{type.var1}})
{% endif %}{% endfor %}
raise Exception("Unknown type")

File diff suppressed because it is too large Load Diff

View File

@ -1,243 +0,0 @@
from typing import Any, Dict, Optional, Union
import httpx
from ...client import Client
from ...models.error import Error
from ...models.file_export_format import FileExportFormat
from ...models.image_type import ImageType
from ...models.mesh import Mesh
from ...types import Response
def _get_kwargs(
input_format: ImageType,
output_format: FileExportFormat,
body: bytes,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/ai/image-to-3d/{input_format}/{output_format}".format(client.base_url, input_format=input_format,output_format=output_format,) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
return {
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
"content": body,
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[Mesh, Error]] :
if response.status_code == 200:
response_200 = Mesh.from_dict(response.json())
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[Mesh, Error]]]:
return Response(
status_code=response.status_code,
content=response.content,
headers=response.headers,
parsed=_parse_response(response=response),
)
def sync_detailed(
input_format: ImageType,
output_format: FileExportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[Mesh, Error]]]:
kwargs = _get_kwargs(
input_format=input_format,
output_format=output_format,
body=body,
client=client,
)
response = httpx.post(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(response=response)
def sync(
input_format: ImageType,
output_format: FileExportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[Mesh, Error]] :
"""This is an alpha endpoint. It will change in the future. The current output is honestly pretty bad. So if you find this endpoint, you get what you pay for, which currently is nothing. But in the future will be made a lot better.""" # noqa: E501
return sync_detailed(
input_format=input_format,
output_format=output_format,
body=body,
client=client,
).parsed
async def asyncio_detailed(
input_format: ImageType,
output_format: FileExportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[Mesh, Error]]]:
kwargs = _get_kwargs(
input_format=input_format,
output_format=output_format,
body=body,
client=client,
)
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.post(**kwargs)
return _build_response(response=response)
async def asyncio(
input_format: ImageType,
output_format: FileExportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[Mesh, Error]] :
"""This is an alpha endpoint. It will change in the future. The current output is honestly pretty bad. So if you find this endpoint, you get what you pay for, which currently is nothing. But in the future will be made a lot better.""" # noqa: E501
return (
await asyncio_detailed(
input_format=input_format,
output_format=output_format,
body=body,
client=client,
)
).parsed

View File

@ -1,208 +0,0 @@
from typing import Any, Dict, Optional, Union
import httpx
from ...client import Client
from ...models.error import Error
from ...models.file_export_format import FileExportFormat
from ...models.mesh import Mesh
from ...types import Response
def _get_kwargs(
output_format: FileExportFormat,
prompt: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/ai/text-to-3d/{output_format}".format(client.base_url, output_format=output_format,) # noqa: E501
if prompt is not None:
if "?" in url:
url = url + "&prompt=" + str(prompt)
else:
url = url + "?prompt=" + str(prompt)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
return {
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[Mesh, Error]] :
if response.status_code == 200:
response_200 = Mesh.from_dict(response.json())
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[Mesh, Error]]]:
return Response(
status_code=response.status_code,
content=response.content,
headers=response.headers,
parsed=_parse_response(response=response),
)
def sync_detailed(
output_format: FileExportFormat,
prompt: str,
*,
client: Client,
) -> Response[Optional[Union[Mesh, Error]]]:
kwargs = _get_kwargs(
output_format=output_format,
prompt=prompt,
client=client,
)
response = httpx.post(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(response=response)
def sync(
output_format: FileExportFormat,
prompt: str,
*,
client: Client,
) -> Optional[Union[Mesh, Error]] :
"""This is an alpha endpoint. It will change in the future. The current output is honestly pretty bad. So if you find this endpoint, you get what you pay for, which currently is nothing. But in the future will be made a lot better.""" # noqa: E501
return sync_detailed(
output_format=output_format,
prompt=prompt,
client=client,
).parsed
async def asyncio_detailed(
output_format: FileExportFormat,
prompt: str,
*,
client: Client,
) -> Response[Optional[Union[Mesh, Error]]]:
kwargs = _get_kwargs(
output_format=output_format,
prompt=prompt,
client=client,
)
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.post(**kwargs)
return _build_response(response=response)
async def asyncio(
output_format: FileExportFormat,
prompt: str,
*,
client: Client,
) -> Optional[Union[Mesh, Error]] :
"""This is an alpha endpoint. It will change in the future. The current output is honestly pretty bad. So if you find this endpoint, you get what you pay for, which currently is nothing. But in the future will be made a lot better.""" # noqa: E501
return (
await asyncio_detailed(
output_format=output_format,
prompt=prompt,
client=client,
)
).parsed

View File

@ -0,0 +1,135 @@
from typing import Any, Dict, Optional, Union
import httpx
from ...client import Client
from ...models.error import Error
from ...models.file_export_format import FileExportFormat
from ...models.text_to_cad import TextToCad
from ...models.text_to_cad_create_body import TextToCadCreateBody
from ...types import Response
def _get_kwargs(
output_format: FileExportFormat,
body: TextToCadCreateBody,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/ai/text-to-cad/{output_format}".format(
client.base_url,
output_format=output_format,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
return {
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
"content": body,
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[TextToCad, Error]]:
if response.status_code == 201:
response_201 = TextToCad.from_dict(response.json())
return response_201
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[TextToCad, Error]]]:
return Response(
status_code=response.status_code,
content=response.content,
headers=response.headers,
parsed=_parse_response(response=response),
)
def sync_detailed(
output_format: FileExportFormat,
body: TextToCadCreateBody,
*,
client: Client,
) -> Response[Optional[Union[TextToCad, Error]]]:
kwargs = _get_kwargs(
output_format=output_format,
body=body,
client=client,
)
response = httpx.post(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(response=response)
def sync(
output_format: FileExportFormat,
body: TextToCadCreateBody,
*,
client: Client,
) -> Optional[Union[TextToCad, Error]]:
"""Because our source of truth for the resulting model is a STEP file, you will always have STEP file contents when you list your generated models. Any other formats you request here will also be returned when you list your generated models.
This operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
One thing to note, if you hit the cache, this endpoint will return right away. So you only have to wait if the status is not `Completed` or `Failed`.
This is an alpha endpoint. It will change in the future. The current output is honestly pretty bad. So if you find this endpoint, you get what you pay for, which currently is nothing. But in the future will be made a lot better.
""" # noqa: E501
return sync_detailed(
output_format=output_format,
body=body,
client=client,
).parsed
async def asyncio_detailed(
output_format: FileExportFormat,
body: TextToCadCreateBody,
*,
client: Client,
) -> Response[Optional[Union[TextToCad, Error]]]:
kwargs = _get_kwargs(
output_format=output_format,
body=body,
client=client,
)
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.post(**kwargs)
return _build_response(response=response)
async def asyncio(
output_format: FileExportFormat,
body: TextToCadCreateBody,
*,
client: Client,
) -> Optional[Union[TextToCad, Error]]:
"""Because our source of truth for the resulting model is a STEP file, you will always have STEP file contents when you list your generated models. Any other formats you request here will also be returned when you list your generated models.
This operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
One thing to note, if you hit the cache, this endpoint will return right away. So you only have to wait if the status is not `Completed` or `Failed`.
This is an alpha endpoint. It will change in the future. The current output is honestly pretty bad. So if you find this endpoint, you get what you pay for, which currently is nothing. But in the future will be made a lot better.
""" # noqa: E501
return (
await asyncio_detailed(
output_format=output_format,
body=body,
client=client,
)
).parsed

View File

@ -0,0 +1,126 @@
from typing import Any, Dict, Optional
import httpx
from ...client import Client
from ...models.ai_feedback import AiFeedback
from ...models.error import Error
from ...types import Response
def _get_kwargs(
id: str,
feedback: AiFeedback,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/text-to-cad/{id}".format(
client.base_url,
id=id,
) # noqa: E501
if feedback is not None:
if "?" in url:
url = url + "&feedback=" + str(feedback)
else:
url = url + "?feedback=" + str(feedback)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
return {
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Error]:
return None
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _build_response(*, response: httpx.Response) -> Response[Optional[Error]]:
return Response(
status_code=response.status_code,
content=response.content,
headers=response.headers,
parsed=_parse_response(response=response),
)
def sync_detailed(
id: str,
feedback: AiFeedback,
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
id=id,
feedback=feedback,
client=client,
)
response = httpx.post(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(response=response)
def sync(
id: str,
feedback: AiFeedback,
*,
client: Client,
) -> Optional[Error]:
"""This endpoint requires authentication by any KittyCAD user. The user must be the owner of the text-to-CAD model, in order to give feedback.""" # noqa: E501
return sync_detailed(
id=id,
feedback=feedback,
client=client,
).parsed
async def asyncio_detailed(
id: str,
feedback: AiFeedback,
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
id=id,
feedback=feedback,
client=client,
)
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.post(**kwargs)
return _build_response(response=response)
async def asyncio(
id: str,
feedback: AiFeedback,
*,
client: Client,
) -> Optional[Error]:
"""This endpoint requires authentication by any KittyCAD user. The user must be the owner of the text-to-CAD model, in order to give feedback.""" # noqa: E501
return (
await asyncio_detailed(
id=id,
feedback=feedback,
client=client,
)
).parsed

View File

@ -0,0 +1,115 @@
from typing import Any, Dict, Optional, Union
import httpx
from ...client import Client
from ...models.ai_prompt import AiPrompt
from ...models.error import Error
from ...types import Response
def _get_kwargs(
id: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/ai-prompts/{id}".format(
client.base_url,
id=id,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
return {
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[AiPrompt, Error]]:
if response.status_code == 200:
response_200 = AiPrompt.from_dict(response.json())
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[AiPrompt, Error]]]:
return Response(
status_code=response.status_code,
content=response.content,
headers=response.headers,
parsed=_parse_response(response=response),
)
def sync_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[AiPrompt, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
response = httpx.get(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(response=response)
def sync(
id: str,
*,
client: Client,
) -> Optional[Union[AiPrompt, Error]]:
"""This endpoint requires authentication by a KittyCAD employee.""" # noqa: E501
return sync_detailed(
id=id,
client=client,
).parsed
async def asyncio_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[AiPrompt, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.get(**kwargs)
return _build_response(response=response)
async def asyncio(
id: str,
*,
client: Client,
) -> Optional[Union[AiPrompt, Error]]:
"""This endpoint requires authentication by a KittyCAD employee.""" # noqa: E501
return (
await asyncio_detailed(
id=id,
client=client,
)
).parsed

View File

@ -0,0 +1,115 @@
from typing import Any, Dict, Optional, Union
import httpx
from ...client import Client
from ...models.error import Error
from ...models.text_to_cad import TextToCad
from ...types import Response
def _get_kwargs(
id: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/text-to-cad/{id}".format(
client.base_url,
id=id,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
return {
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[TextToCad, Error]]:
if response.status_code == 200:
response_200 = TextToCad.from_dict(response.json())
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[TextToCad, Error]]]:
return Response(
status_code=response.status_code,
content=response.content,
headers=response.headers,
parsed=_parse_response(response=response),
)
def sync_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[TextToCad, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
response = httpx.get(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(response=response)
def sync(
id: str,
*,
client: Client,
) -> Optional[Union[TextToCad, Error]]:
"""This endpoint requires authentication by any KittyCAD user. The user must be the owner of the text-to-CAD model.""" # noqa: E501
return sync_detailed(
id=id,
client=client,
).parsed
async def asyncio_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[TextToCad, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.get(**kwargs)
return _build_response(response=response)
async def asyncio(
id: str,
*,
client: Client,
) -> Optional[Union[TextToCad, Error]]:
"""This endpoint requires authentication by any KittyCAD user. The user must be the owner of the text-to-CAD model.""" # noqa: E501
return (
await asyncio_detailed(
id=id,
client=client,
)
).parsed

View File

@ -0,0 +1,159 @@
from typing import Any, Dict, Optional, Union
import httpx
from ...client import Client
from ...models.ai_prompt_results_page import AiPromptResultsPage
from ...models.created_at_sort_mode import CreatedAtSortMode
from ...models.error import Error
from ...types import Response
def _get_kwargs(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/ai-prompts".format(
client.base_url,
) # noqa: E501
if limit is not None:
if "?" in url:
url = url + "&limit=" + str(limit)
else:
url = url + "?limit=" + str(limit)
if page_token is not None:
if "?" in url:
url = url + "&page_token=" + str(page_token)
else:
url = url + "?page_token=" + str(page_token)
if sort_by is not None:
if "?" in url:
url = url + "&sort_by=" + str(sort_by)
else:
url = url + "?sort_by=" + str(sort_by)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
return {
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[AiPromptResultsPage, Error]]:
if response.status_code == 200:
response_200 = AiPromptResultsPage.from_dict(response.json())
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[AiPromptResultsPage, Error]]]:
return Response(
status_code=response.status_code,
content=response.content,
headers=response.headers,
parsed=_parse_response(response=response),
)
def sync_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[AiPromptResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
response = httpx.get(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(response=response)
def sync(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[AiPromptResultsPage, Error]]:
"""For text-to-cad prompts, this will always return the STEP file contents as well as the format the user originally requested.
This endpoint requires authentication by a KittyCAD employee.
The AI prompts are returned in order of creation, with the most recently created AI prompts first.
""" # noqa: E501
return sync_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
).parsed
async def asyncio_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[AiPromptResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.get(**kwargs)
return _build_response(response=response)
async def asyncio(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[AiPromptResultsPage, Error]]:
"""For text-to-cad prompts, this will always return the STEP file contents as well as the format the user originally requested.
This endpoint requires authentication by a KittyCAD employee.
The AI prompts are returned in order of creation, with the most recently created AI prompts first.
""" # noqa: E501
return (
await asyncio_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
).parsed

View File

@ -0,0 +1,159 @@
from typing import Any, Dict, Optional, Union
import httpx
from ...client import Client
from ...models.created_at_sort_mode import CreatedAtSortMode
from ...models.error import Error
from ...models.text_to_cad_results_page import TextToCadResultsPage
from ...types import Response
def _get_kwargs(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/user/text-to-cad".format(
client.base_url,
) # noqa: E501
if limit is not None:
if "?" in url:
url = url + "&limit=" + str(limit)
else:
url = url + "?limit=" + str(limit)
if page_token is not None:
if "?" in url:
url = url + "&page_token=" + str(page_token)
else:
url = url + "?page_token=" + str(page_token)
if sort_by is not None:
if "?" in url:
url = url + "&sort_by=" + str(sort_by)
else:
url = url + "?sort_by=" + str(sort_by)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
return {
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[TextToCadResultsPage, Error]]:
if response.status_code == 200:
response_200 = TextToCadResultsPage.from_dict(response.json())
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[TextToCadResultsPage, Error]]]:
return Response(
status_code=response.status_code,
content=response.content,
headers=response.headers,
parsed=_parse_response(response=response),
)
def sync_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[TextToCadResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
response = httpx.get(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(response=response)
def sync(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[TextToCadResultsPage, Error]]:
"""This will always return the STEP file contents as well as the format the user originally requested.
This endpoint requires authentication by any KittyCAD user. It returns the text-to-CAD models for the authenticated user.
The text-to-CAD models are returned in order of creation, with the most recently created text-to-CAD models first.
""" # noqa: E501
return sync_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
).parsed
async def asyncio_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[TextToCadResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.get(**kwargs)
return _build_response(response=response)
async def asyncio(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[TextToCadResultsPage, Error]]:
"""This will always return the STEP file contents as well as the format the user originally requested.
This endpoint requires authentication by any KittyCAD user. It returns the text-to-CAD models for the authenticated user.
The text-to-CAD models are returned in order of creation, with the most recently created text-to-CAD models first.
""" # noqa: E501
return (
await asyncio_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
).parsed

View File

@ -9,22 +9,14 @@ from ...types import Response
def _get_kwargs(
id: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/api-calls/{id}".format(client.base_url, id=id,) # noqa: E501
url = "{}/api-calls/{id}".format(
client.base_url,
id=id,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -34,11 +26,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiCallWithPrice, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[ApiCallWithPrice, Error]]:
if response.status_code == 200:
response_200 = ApiCallWithPrice.from_dict(response.json())
return response_200
@ -51,7 +44,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiCallWithPr
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ApiCallWithPrice, Error]]]:
@ -64,21 +56,12 @@ def _build_response(
def sync_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[ApiCallWithPrice, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -91,45 +74,27 @@ def sync_detailed(
def sync(
id: str,
*,
client: Client,
) -> Optional[Union[ApiCallWithPrice, Error]] :
) -> Optional[Union[ApiCallWithPrice, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns details of the requested API call for the user.
If the user is not authenticated to view the specified API call, then it is not returned.
Only KittyCAD employees can view API calls for other users.""" # noqa: E501
If the user is not authenticated to view the specified API call, then it is not returned.
Only KittyCAD employees can view API calls for other users.""" # noqa: E501
return sync_detailed(
id=id,
client=client,
).parsed
async def asyncio_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[ApiCallWithPrice, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -140,26 +105,17 @@ async def asyncio_detailed(
async def asyncio(
id: str,
*,
client: Client,
) -> Optional[Union[ApiCallWithPrice, Error]] :
) -> Optional[Union[ApiCallWithPrice, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns details of the requested API call for the user.
If the user is not authenticated to view the specified API call, then it is not returned.
Only KittyCAD employees can view API calls for other users.""" # noqa: E501
If the user is not authenticated to view the specified API call, then it is not returned.
Only KittyCAD employees can view API calls for other users.""" # noqa: E501
return (
await asyncio_detailed(
id=id,
client=client,
)
).parsed

View File

@ -9,22 +9,14 @@ from ...types import Response
def _get_kwargs(
id: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/api-calls/{id}".format(client.base_url, id=id,) # noqa: E501
url = "{}/user/api-calls/{id}".format(
client.base_url,
id=id,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -34,11 +26,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiCallWithPrice, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[ApiCallWithPrice, Error]]:
if response.status_code == 200:
response_200 = ApiCallWithPrice.from_dict(response.json())
return response_200
@ -51,7 +44,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiCallWithPr
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ApiCallWithPrice, Error]]]:
@ -64,21 +56,12 @@ def _build_response(
def sync_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[ApiCallWithPrice, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -91,43 +74,25 @@ def sync_detailed(
def sync(
id: str,
*,
client: Client,
) -> Optional[Union[ApiCallWithPrice, Error]] :
) -> Optional[Union[ApiCallWithPrice, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns details of the requested API call for the user.""" # noqa: E501
return sync_detailed(
id=id,
client=client,
).parsed
async def asyncio_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[ApiCallWithPrice, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -138,24 +103,15 @@ async def asyncio_detailed(
async def asyncio(
id: str,
*,
client: Client,
) -> Optional[Union[ApiCallWithPrice, Error]] :
) -> Optional[Union[ApiCallWithPrice, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns details of the requested API call for the user.""" # noqa: E501
return (
await asyncio_detailed(
id=id,
client=client,
)
).parsed

View File

@ -10,19 +10,13 @@ from ...types import Response
def _get_kwargs(
group_by: ApiCallQueryGroupBy,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/api-call-metrics".format(client.base_url, ) # noqa: E501
url = "{}/api-call-metrics".format(
client.base_url,
) # noqa: E501
if group_by is not None:
if "?" in url:
@ -30,9 +24,6 @@ def _get_kwargs(
else:
url = url + "?group_by=" + str(group_by)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -41,16 +32,14 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[List[ApiCallQueryGroup], Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[List[ApiCallQueryGroup], Error]]:
if response.status_code == 200:
response_200 = [
ApiCallQueryGroup.from_dict(item)
for item in response.json()
]
response_200 = [ApiCallQueryGroup.from_dict(item) for item in response.json()]
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -61,7 +50,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[List[ApiCallQ
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[List[ApiCallQueryGroup], Error]]]:
@ -74,21 +62,12 @@ def _build_response(
def sync_detailed(
group_by: ApiCallQueryGroupBy,
*,
client: Client,
) -> Response[Optional[Union[List[ApiCallQueryGroup], Error]]]:
kwargs = _get_kwargs(
group_by=group_by,
client=client,
)
@ -101,43 +80,25 @@ def sync_detailed(
def sync(
group_by: ApiCallQueryGroupBy,
*,
client: Client,
) -> Optional[Union[List[ApiCallQueryGroup], Error]] :
) -> Optional[Union[List[ApiCallQueryGroup], Error]]:
"""This endpoint requires authentication by a KittyCAD employee. The API calls are grouped by the parameter passed.""" # noqa: E501
return sync_detailed(
group_by=group_by,
client=client,
).parsed
async def asyncio_detailed(
group_by: ApiCallQueryGroupBy,
*,
client: Client,
) -> Response[Optional[Union[List[ApiCallQueryGroup], Error]]]:
kwargs = _get_kwargs(
group_by=group_by,
client=client,
)
@ -148,24 +109,15 @@ async def asyncio_detailed(
async def asyncio(
group_by: ApiCallQueryGroupBy,
*,
client: Client,
) -> Optional[Union[List[ApiCallQueryGroup], Error]] :
) -> Optional[Union[List[ApiCallQueryGroup], Error]]:
"""This endpoint requires authentication by a KittyCAD employee. The API calls are grouped by the parameter passed.""" # noqa: E501
return (
await asyncio_detailed(
group_by=group_by,
client=client,
)
).parsed

View File

@ -10,26 +10,19 @@ from ...models.file_density import FileDensity
from ...models.file_mass import FileMass
from ...models.file_surface_area import FileSurfaceArea
from ...models.file_volume import FileVolume
from ...models.text_to_cad import TextToCad
from ...types import Response
def _get_kwargs(
id: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/async/operations/{id}".format(client.base_url, id=id,) # noqa: E501
url = "{}/async/operations/{id}".format(
client.base_url,
id=id,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -39,11 +32,23 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[FileConversion, FileCenterOfMass, FileMass, FileVolume, FileDensity, FileSurfaceArea, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[
Union[
FileConversion,
FileCenterOfMass,
FileMass,
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
Error,
]
]:
if response.status_code == 200:
data = response.json()
try:
@ -96,6 +101,15 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[FileConversio
raise TypeError()
option_file_surface_area = FileSurfaceArea.from_dict(data)
return option_file_surface_area
except ValueError:
pass
except TypeError:
pass
try:
if not isinstance(data, dict):
raise TypeError()
option_text_to_cad = TextToCad.from_dict(data)
return option_text_to_cad
except ValueError:
raise
except TypeError:
@ -109,10 +123,22 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[FileConversio
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[FileConversion, FileCenterOfMass, FileMass, FileVolume, FileDensity, FileSurfaceArea, Error]]]:
) -> Response[
Optional[
Union[
FileConversion,
FileCenterOfMass,
FileMass,
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
Error,
]
]
]:
return Response(
status_code=response.status_code,
content=response.content,
@ -122,21 +148,25 @@ def _build_response(
def sync_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[FileConversion, FileCenterOfMass, FileMass, FileVolume, FileDensity, FileSurfaceArea, Error]]]:
) -> Response[
Optional[
Union[
FileConversion,
FileCenterOfMass,
FileMass,
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
Error,
]
]
]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -149,46 +179,53 @@ def sync_detailed(
def sync(
id: str,
*,
client: Client,
) -> Optional[Union[FileConversion, FileCenterOfMass, FileMass, FileVolume, FileDensity, FileSurfaceArea, Error]] :
) -> Optional[
Union[
FileConversion,
FileCenterOfMass,
FileMass,
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
Error,
]
]:
"""Get the status and output of an async operation.
This endpoint requires authentication by any KittyCAD user. It returns details of the requested async operation for the user.
If the user is not authenticated to view the specified async operation, then it is not returned.
Only KittyCAD employees with the proper access can view async operations for other users.""" # noqa: E501
This endpoint requires authentication by any KittyCAD user. It returns details of the requested async operation for the user.
If the user is not authenticated to view the specified async operation, then it is not returned.
Only KittyCAD employees with the proper access can view async operations for other users.
""" # noqa: E501
return sync_detailed(
id=id,
client=client,
).parsed
async def asyncio_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[FileConversion, FileCenterOfMass, FileMass, FileVolume, FileDensity, FileSurfaceArea, Error]]]:
) -> Response[
Optional[
Union[
FileConversion,
FileCenterOfMass,
FileMass,
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
Error,
]
]
]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -199,27 +236,30 @@ async def asyncio_detailed(
async def asyncio(
id: str,
*,
client: Client,
) -> Optional[Union[FileConversion, FileCenterOfMass, FileMass, FileVolume, FileDensity, FileSurfaceArea, Error]] :
) -> Optional[
Union[
FileConversion,
FileCenterOfMass,
FileMass,
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
Error,
]
]:
"""Get the status and output of an async operation.
This endpoint requires authentication by any KittyCAD user. It returns details of the requested async operation for the user.
If the user is not authenticated to view the specified async operation, then it is not returned.
Only KittyCAD employees with the proper access can view async operations for other users.""" # noqa: E501
This endpoint requires authentication by any KittyCAD user. It returns details of the requested async operation for the user.
If the user is not authenticated to view the specified async operation, then it is not returned.
Only KittyCAD employees with the proper access can view async operations for other users.
""" # noqa: E501
return (
await asyncio_detailed(
id=id,
client=client,
)
).parsed

View File

@ -10,31 +10,15 @@ from ...types import Response
def _get_kwargs(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/api-calls".format(client.base_url, ) # noqa: E501
url = "{}/api-calls".format(
client.base_url,
) # noqa: E501
if limit is not None:
if "?" in url:
@ -42,25 +26,18 @@ def _get_kwargs(
else:
url = url + "?limit=" + str(limit)
if page_token is not None:
if "?" in url:
url = url + "&page_token=" + str(page_token)
else:
url = url + "?page_token=" + str(page_token)
if sort_by is not None:
if "?" in url:
url = url + "&sort_by=" + str(sort_by)
else:
url = url + "?sort_by=" + str(sort_by)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -69,11 +46,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiCallWithPriceResultsPage, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
if response.status_code == 200:
response_200 = ApiCallWithPriceResultsPage.from_dict(response.json())
return response_200
@ -86,7 +64,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiCallWithPr
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ApiCallWithPriceResultsPage, Error]]]:
@ -99,37 +76,16 @@ def _build_response(
def sync_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[ApiCallWithPriceResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -142,75 +98,33 @@ def sync_detailed(
def sync(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]] :
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This endpoint requires authentication by a KittyCAD employee. The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
return sync_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
).parsed
async def asyncio_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[ApiCallWithPriceResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -221,40 +135,19 @@ async def asyncio_detailed(
async def asyncio(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]] :
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This endpoint requires authentication by a KittyCAD employee. The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
return (
await asyncio_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
).parsed

View File

@ -10,39 +10,17 @@ from ...types import Response
def _get_kwargs(
id: str,
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/users/{id}/api-calls".format(client.base_url, id=id,) # noqa: E501
url = "{}/users/{id}/api-calls".format(
client.base_url,
id=id,
) # noqa: E501
if limit is not None:
if "?" in url:
@ -50,25 +28,18 @@ def _get_kwargs(
else:
url = url + "?limit=" + str(limit)
if page_token is not None:
if "?" in url:
url = url + "&page_token=" + str(page_token)
else:
url = url + "?page_token=" + str(page_token)
if sort_by is not None:
if "?" in url:
url = url + "&sort_by=" + str(sort_by)
else:
url = url + "?sort_by=" + str(sort_by)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -77,11 +48,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiCallWithPriceResultsPage, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
if response.status_code == 200:
response_200 = ApiCallWithPriceResultsPage.from_dict(response.json())
return response_200
@ -94,7 +66,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiCallWithPr
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ApiCallWithPriceResultsPage, Error]]]:
@ -107,45 +78,18 @@ def _build_response(
def sync_detailed(
id: str,
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[ApiCallWithPriceResultsPage, Error]]]:
kwargs = _get_kwargs(
id=id,
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -158,94 +102,41 @@ def sync_detailed(
def sync(
id: str,
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]] :
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns the API calls for the authenticated user if "me" is passed as the user id.
Alternatively, you can use the `/user/api-calls` endpoint to get the API calls for your user.
If the authenticated user is a KittyCAD employee, then the API calls are returned for the user specified by the user id.
The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
Alternatively, you can use the `/user/api-calls` endpoint to get the API calls for your user.
If the authenticated user is a KittyCAD employee, then the API calls are returned for the user specified by the user id.
The API calls are returned in order of creation, with the most recently created API calls first.
""" # noqa: E501
return sync_detailed(
id=id,
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
).parsed
async def asyncio_detailed(
id: str,
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[ApiCallWithPriceResultsPage, Error]]]:
kwargs = _get_kwargs(
id=id,
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -256,51 +147,25 @@ async def asyncio_detailed(
async def asyncio(
id: str,
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]] :
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns the API calls for the authenticated user if "me" is passed as the user id.
Alternatively, you can use the `/user/api-calls` endpoint to get the API calls for your user.
If the authenticated user is a KittyCAD employee, then the API calls are returned for the user specified by the user id.
The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
Alternatively, you can use the `/user/api-calls` endpoint to get the API calls for your user.
If the authenticated user is a KittyCAD employee, then the API calls are returned for the user specified by the user id.
The API calls are returned in order of creation, with the most recently created API calls first.
""" # noqa: E501
return (
await asyncio_detailed(
id=id,
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
).parsed

View File

@ -11,37 +11,16 @@ from ...types import Response
def _get_kwargs(
sort_by: CreatedAtSortMode,
status: ApiCallStatus,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/async/operations".format(client.base_url, ) # noqa: E501
url = "{}/async/operations".format(
client.base_url,
) # noqa: E501
if limit is not None:
if "?" in url:
@ -49,33 +28,24 @@ def _get_kwargs(
else:
url = url + "?limit=" + str(limit)
if page_token is not None:
if "?" in url:
url = url + "&page_token=" + str(page_token)
else:
url = url + "?page_token=" + str(page_token)
if sort_by is not None:
if "?" in url:
url = url + "&sort_by=" + str(sort_by)
else:
url = url + "?sort_by=" + str(sort_by)
if status is not None:
if "?" in url:
url = url + "&status=" + str(status)
else:
url = url + "?status=" + str(status)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -84,11 +54,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[AsyncApiCallResultsPage, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[AsyncApiCallResultsPage, Error]]:
if response.status_code == 200:
response_200 = AsyncApiCallResultsPage.from_dict(response.json())
return response_200
@ -101,7 +72,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[AsyncApiCallR
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[AsyncApiCallResultsPage, Error]]]:
@ -114,45 +84,18 @@ def _build_response(
def sync_detailed(
sort_by: CreatedAtSortMode,
status: ApiCallStatus,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[AsyncApiCallResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
status=status,
client=client,
)
@ -165,92 +108,38 @@ def sync_detailed(
def sync(
sort_by: CreatedAtSortMode,
status: ApiCallStatus,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[AsyncApiCallResultsPage, Error]] :
) -> Optional[Union[AsyncApiCallResultsPage, Error]]:
"""For async file conversion operations, this endpoint does not return the contents of converted files (`output`). To get the contents use the `/async/operations/{id}` endpoint.
This endpoint requires authentication by a KittyCAD employee.""" # noqa: E501
This endpoint requires authentication by a KittyCAD employee.""" # noqa: E501
return sync_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
status=status,
client=client,
).parsed
async def asyncio_detailed(
sort_by: CreatedAtSortMode,
status: ApiCallStatus,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[AsyncApiCallResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
status=status,
client=client,
)
@ -261,49 +150,22 @@ async def asyncio_detailed(
async def asyncio(
sort_by: CreatedAtSortMode,
status: ApiCallStatus,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[AsyncApiCallResultsPage, Error]] :
) -> Optional[Union[AsyncApiCallResultsPage, Error]]:
"""For async file conversion operations, this endpoint does not return the contents of converted files (`output`). To get the contents use the `/async/operations/{id}` endpoint.
This endpoint requires authentication by a KittyCAD employee.""" # noqa: E501
This endpoint requires authentication by a KittyCAD employee.""" # noqa: E501
return (
await asyncio_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
status=status,
client=client,
)
).parsed

View File

@ -10,31 +10,15 @@ from ...types import Response
def _get_kwargs(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/user/api-calls".format(client.base_url, ) # noqa: E501
url = "{}/user/api-calls".format(
client.base_url,
) # noqa: E501
if limit is not None:
if "?" in url:
@ -42,25 +26,18 @@ def _get_kwargs(
else:
url = url + "?limit=" + str(limit)
if page_token is not None:
if "?" in url:
url = url + "&page_token=" + str(page_token)
else:
url = url + "?page_token=" + str(page_token)
if sort_by is not None:
if "?" in url:
url = url + "&sort_by=" + str(sort_by)
else:
url = url + "?sort_by=" + str(sort_by)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -69,11 +46,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiCallWithPriceResultsPage, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
if response.status_code == 200:
response_200 = ApiCallWithPriceResultsPage.from_dict(response.json())
return response_200
@ -86,7 +64,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiCallWithPr
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ApiCallWithPriceResultsPage, Error]]]:
@ -99,37 +76,16 @@ def _build_response(
def sync_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[ApiCallWithPriceResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -142,76 +98,35 @@ def sync_detailed(
def sync(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]] :
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns the API calls for the authenticated user.
The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
The API calls are returned in order of creation, with the most recently created API calls first.
""" # noqa: E501
return sync_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
).parsed
async def asyncio_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[ApiCallWithPriceResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -222,41 +137,21 @@ async def asyncio_detailed(
async def asyncio(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]] :
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns the API calls for the authenticated user.
The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
The API calls are returned in order of creation, with the most recently created API calls first.
""" # noqa: E501
return (
await asyncio_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/api-tokens".format(client.base_url, ) # noqa: E501
url = "{}/user/api-tokens".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiToken, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiToken, Error]]:
if response.status_code == 201:
response_201 = ApiToken.from_dict(response.json())
return response_201
@ -43,7 +40,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiToken, Err
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ApiToken, Error]]]:
@ -56,13 +52,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[ApiToken, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,27 +68,21 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[ApiToken, Error]] :
) -> Optional[Union[ApiToken, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It creates a new API token for the authenticated user.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[ApiToken, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -106,16 +93,13 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[ApiToken, Error]] :
) -> Optional[Union[ApiToken, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It creates a new API token for the authenticated user.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -8,22 +8,14 @@ from ...types import Response
def _get_kwargs(
token: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/api-tokens/{token}".format(client.base_url, token=token,) # noqa: E501
url = "{}/user/api-tokens/{token}".format(
client.base_url,
token=token,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -33,11 +25,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Error] :
def _parse_response(*, response: httpx.Response) -> Optional[Error]:
return None
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -48,10 +39,7 @@ def _parse_response(*, response: httpx.Response) -> Optional[Error] :
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Error]]:
def _build_response(*, response: httpx.Response) -> Response[Optional[Error]]:
return Response(
status_code=response.status_code,
content=response.content,
@ -61,21 +49,12 @@ def _build_response(
def sync_detailed(
token: str,
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
token=token,
client=client,
)
@ -88,44 +67,27 @@ def sync_detailed(
def sync(
token: str,
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This endpoint requires authentication by any KittyCAD user. It deletes the requested API token for the user.
This endpoint does not actually delete the API token from the database. It merely marks the token as invalid. We still want to keep the token in the database for historical purposes.""" # noqa: E501
This endpoint does not actually delete the API token from the database. It merely marks the token as invalid. We still want to keep the token in the database for historical purposes.
""" # noqa: E501
return sync_detailed(
token=token,
client=client,
).parsed
async def asyncio_detailed(
token: str,
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
token=token,
client=client,
)
@ -136,25 +98,17 @@ async def asyncio_detailed(
async def asyncio(
token: str,
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This endpoint requires authentication by any KittyCAD user. It deletes the requested API token for the user.
This endpoint does not actually delete the API token from the database. It merely marks the token as invalid. We still want to keep the token in the database for historical purposes.""" # noqa: E501
This endpoint does not actually delete the API token from the database. It merely marks the token as invalid. We still want to keep the token in the database for historical purposes.
""" # noqa: E501
return (
await asyncio_detailed(
token=token,
client=client,
)
).parsed

View File

@ -9,22 +9,14 @@ from ...types import Response
def _get_kwargs(
token: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/api-tokens/{token}".format(client.base_url, token=token,) # noqa: E501
url = "{}/user/api-tokens/{token}".format(
client.base_url,
token=token,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -34,11 +26,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiToken, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiToken, Error]]:
if response.status_code == 200:
response_200 = ApiToken.from_dict(response.json())
return response_200
@ -51,7 +42,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiToken, Err
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ApiToken, Error]]]:
@ -64,21 +54,12 @@ def _build_response(
def sync_detailed(
token: str,
*,
client: Client,
) -> Response[Optional[Union[ApiToken, Error]]]:
kwargs = _get_kwargs(
token=token,
client=client,
)
@ -91,43 +72,25 @@ def sync_detailed(
def sync(
token: str,
*,
client: Client,
) -> Optional[Union[ApiToken, Error]] :
) -> Optional[Union[ApiToken, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns details of the requested API token for the user.""" # noqa: E501
return sync_detailed(
token=token,
client=client,
).parsed
async def asyncio_detailed(
token: str,
*,
client: Client,
) -> Response[Optional[Union[ApiToken, Error]]]:
kwargs = _get_kwargs(
token=token,
client=client,
)
@ -138,24 +101,15 @@ async def asyncio_detailed(
async def asyncio(
token: str,
*,
client: Client,
) -> Optional[Union[ApiToken, Error]] :
) -> Optional[Union[ApiToken, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns details of the requested API token for the user.""" # noqa: E501
return (
await asyncio_detailed(
token=token,
client=client,
)
).parsed

View File

@ -10,31 +10,15 @@ from ...types import Response
def _get_kwargs(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/user/api-tokens".format(client.base_url, ) # noqa: E501
url = "{}/user/api-tokens".format(
client.base_url,
) # noqa: E501
if limit is not None:
if "?" in url:
@ -42,25 +26,18 @@ def _get_kwargs(
else:
url = url + "?limit=" + str(limit)
if page_token is not None:
if "?" in url:
url = url + "&page_token=" + str(page_token)
else:
url = url + "?page_token=" + str(page_token)
if sort_by is not None:
if "?" in url:
url = url + "&sort_by=" + str(sort_by)
else:
url = url + "?sort_by=" + str(sort_by)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -69,11 +46,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiTokenResultsPage, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[ApiTokenResultsPage, Error]]:
if response.status_code == 200:
response_200 = ApiTokenResultsPage.from_dict(response.json())
return response_200
@ -86,7 +64,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiTokenResul
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ApiTokenResultsPage, Error]]]:
@ -99,37 +76,16 @@ def _build_response(
def sync_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[ApiTokenResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -142,76 +98,35 @@ def sync_detailed(
def sync(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[ApiTokenResultsPage, Error]] :
) -> Optional[Union[ApiTokenResultsPage, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns the API tokens for the authenticated user.
The API tokens are returned in order of creation, with the most recently created API tokens first.""" # noqa: E501
The API tokens are returned in order of creation, with the most recently created API tokens first.
""" # noqa: E501
return sync_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
).parsed
async def asyncio_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[ApiTokenResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -222,41 +137,21 @@ async def asyncio_detailed(
async def asyncio(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[ApiTokenResultsPage, Error]] :
) -> Optional[Union[ApiTokenResultsPage, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns the API tokens for the authenticated user.
The API tokens are returned in order of creation, with the most recently created API tokens first.""" # noqa: E501
The API tokens are returned in order of creation, with the most recently created API tokens first.
""" # noqa: E501
return (
await asyncio_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
).parsed

View File

@ -8,14 +8,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/apps/github/callback".format(client.base_url, ) # noqa: E501
url = "{}/apps/github/callback".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -25,11 +23,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Error] :
def _parse_response(*, response: httpx.Response) -> Optional[Error]:
return None
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -40,10 +37,7 @@ def _parse_response(*, response: httpx.Response) -> Optional[Error] :
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Error]]:
def _build_response(*, response: httpx.Response) -> Response[Optional[Error]]:
return Response(
status_code=response.status_code,
content=response.content,
@ -53,13 +47,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
client=client,
)
@ -72,28 +63,23 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This is different than OAuth 2.0 authentication for users. This endpoint grants access for KittyCAD to access user's repos.
The user doesn't need KittyCAD OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501
The user doesn't need KittyCAD OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.
""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
client=client,
)
@ -104,17 +90,15 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This is different than OAuth 2.0 authentication for users. This endpoint grants access for KittyCAD to access user's repos.
The user doesn't need KittyCAD OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501
The user doesn't need KittyCAD OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.
""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/apps/github/consent".format(client.base_url, ) # noqa: E501
url = "{}/apps/github/consent".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[AppClientInfo, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[AppClientInfo, Error]]:
if response.status_code == 200:
response_200 = AppClientInfo.from_dict(response.json())
return response_200
@ -43,7 +42,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[AppClientInfo
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[AppClientInfo, Error]]]:
@ -56,13 +54,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[AppClientInfo, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,28 +70,23 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[AppClientInfo, Error]] :
) -> Optional[Union[AppClientInfo, Error]]:
"""This is different than OAuth 2.0 authentication for users. This endpoint grants access for KittyCAD to access user's repos.
The user doesn't need KittyCAD OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501
The user doesn't need KittyCAD OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.
""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[AppClientInfo, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -107,17 +97,15 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[AppClientInfo, Error]] :
) -> Optional[Union[AppClientInfo, Error]]:
"""This is different than OAuth 2.0 authentication for users. This endpoint grants access for KittyCAD to access user's repos.
The user doesn't need KittyCAD OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501
The user doesn't need KittyCAD OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.
""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -8,22 +8,13 @@ from ...types import Response
def _get_kwargs(
body: bytes,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/apps/github/webhook".format(client.base_url, ) # noqa: E501
url = "{}/apps/github/webhook".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -37,7 +28,7 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Error] :
def _parse_response(*, response: httpx.Response) -> Optional[Error]:
return None
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -48,10 +39,7 @@ def _parse_response(*, response: httpx.Response) -> Optional[Error] :
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Error]]:
def _build_response(*, response: httpx.Response) -> Response[Optional[Error]]:
return Response(
status_code=response.status_code,
content=response.content,
@ -61,21 +49,12 @@ def _build_response(
def sync_detailed(
body: bytes,
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
body=body,
client=client,
)
@ -88,43 +67,25 @@ def sync_detailed(
def sync(
body: bytes,
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""These come from the GitHub app.""" # noqa: E501
return sync_detailed(
body=body,
client=client,
).parsed
async def asyncio_detailed(
body: bytes,
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
body=body,
client=client,
)
@ -135,24 +96,15 @@ async def asyncio_detailed(
async def asyncio(
body: bytes,
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""These come from the GitHub app.""" # noqa: E501
return (
await asyncio_detailed(
body=body,
client=client,
)
).parsed

View File

@ -4,19 +4,14 @@ from websockets.client import WebSocketClientProtocol, connect as ws_connect_asy
from websockets.sync.client import ClientConnection, connect as ws_connect
from ...client import Client
from ...models.error import Error
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/ws/executor/term".format(client.base_url) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -25,46 +20,32 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def sync(
*,
client: Client,
) -> ClientConnection:
"""Attach to a docker container to create an interactive terminal.""" # noqa: E501
kwargs = _get_kwargs(
client=client,
)
with ws_connect(kwargs["url"].replace("https://", "wss://"), additional_headers=kwargs["headers"]) as websocket:
return websocket # type: ignore
# Return an error if we got here.
return Error(message="An error occurred while connecting to the websocket.")
return ws_connect(kwargs["url"].replace("http", "ws"), additional_headers=kwargs["headers"], close_timeout=None, compression=None, max_size=None) # type: ignore
async def asyncio(
*,
client: Client,
) -> WebSocketClientProtocol:
"""Attach to a docker container to create an interactive terminal.""" # noqa: E501
kwargs = _get_kwargs(
client=client,
)
async with ws_connect_async(kwargs["url"].replace("https://", "wss://"), extra_headers=kwargs["headers"]) as websocket:
return websocket
# Return an error if we got here.
return Error(message="An error occurred while connecting to the websocket.")
return await ws_connect_async(
kwargs["url"].replace("http", "ws"), extra_headers=kwargs["headers"]
)

View File

@ -10,33 +10,16 @@ from ...types import Response
def _get_kwargs(
lang: CodeLanguage,
body: bytes,
*,
client: Client,
output: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/file/execute/{lang}".format(client.base_url, lang=lang,) # noqa: E501
url = "{}/file/execute/{lang}".format(
client.base_url,
lang=lang,
) # noqa: E501
if output is not None:
if "?" in url:
@ -44,11 +27,6 @@ def _get_kwargs(
else:
url = url + "?output=" + str(output)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -61,7 +39,7 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[CodeOutput, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[CodeOutput, Error]]:
if response.status_code == 200:
response_200 = CodeOutput.from_dict(response.json())
return response_200
@ -74,7 +52,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[CodeOutput, E
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[CodeOutput, Error]]]:
@ -87,37 +64,16 @@ def _build_response(
def sync_detailed(
lang: CodeLanguage,
body: bytes,
*,
client: Client,
output: Optional[str] = None,
) -> Response[Optional[Union[CodeOutput, Error]]]:
kwargs = _get_kwargs(
lang=lang,
output=output,
body=body,
client=client,
)
@ -130,75 +86,31 @@ def sync_detailed(
def sync(
lang: CodeLanguage,
body: bytes,
*,
client: Client,
output: Optional[str] = None,
) -> Optional[Union[CodeOutput, Error]] :
) -> Optional[Union[CodeOutput, Error]]:
return sync_detailed(
lang=lang,
output=output,
body=body,
client=client,
).parsed
async def asyncio_detailed(
lang: CodeLanguage,
body: bytes,
*,
client: Client,
output: Optional[str] = None,
) -> Response[Optional[Union[CodeOutput, Error]]]:
kwargs = _get_kwargs(
lang=lang,
output=output,
body=body,
client=client,
)
@ -209,40 +121,17 @@ async def asyncio_detailed(
async def asyncio(
lang: CodeLanguage,
body: bytes,
*,
client: Client,
output: Optional[str] = None,
) -> Optional[Union[CodeOutput, Error]] :
) -> Optional[Union[CodeOutput, Error]]:
return (
await asyncio_detailed(
lang=lang,
output=output,
body=body,
client=client,
)
).parsed

View File

@ -11,31 +11,15 @@ from ...types import Response
def _get_kwargs(
output_unit: UnitLength,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/file/center-of-mass".format(client.base_url, ) # noqa: E501
url = "{}/file/center-of-mass".format(
client.base_url,
) # noqa: E501
if output_unit is not None:
if "?" in url:
@ -43,19 +27,12 @@ def _get_kwargs(
else:
url = url + "?output_unit=" + str(output_unit)
if src_format is not None:
if "?" in url:
url = url + "&src_format=" + str(src_format)
else:
url = url + "?src_format=" + str(src_format)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -68,7 +45,9 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[FileCenterOfMass, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[FileCenterOfMass, Error]]:
if response.status_code == 201:
response_201 = FileCenterOfMass.from_dict(response.json())
return response_201
@ -81,7 +60,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[FileCenterOfM
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[FileCenterOfMass, Error]]]:
@ -94,37 +72,16 @@ def _build_response(
def sync_detailed(
output_unit: UnitLength,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileCenterOfMass, Error]]]:
kwargs = _get_kwargs(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
@ -137,79 +94,38 @@ def sync_detailed(
def sync(
output_unit: UnitLength,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileCenterOfMass, Error]] :
) -> Optional[Union[FileCenterOfMass, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the cartesian co-ordinate in world space measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
This endpoint returns the cartesian coordinate in world space measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return sync_detailed(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
).parsed
async def asyncio_detailed(
output_unit: UnitLength,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileCenterOfMass, Error]]]:
kwargs = _get_kwargs(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
@ -220,44 +136,24 @@ async def asyncio_detailed(
async def asyncio(
output_unit: UnitLength,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileCenterOfMass, Error]] :
) -> Optional[Union[FileCenterOfMass, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the cartesian co-ordinate in world space measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
This endpoint returns the cartesian coordinate in world space measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return (
await asyncio_detailed(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
).parsed

View File

@ -11,38 +11,17 @@ from ...types import Response
def _get_kwargs(
output_format: FileExportFormat,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/file/conversion/{src_format}/{output_format}".format(client.base_url, output_format=output_format,src_format=src_format,) # noqa: E501
url = "{}/file/conversion/{src_format}/{output_format}".format(
client.base_url,
output_format=output_format,
src_format=src_format,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -56,7 +35,9 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[FileConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[FileConversion, Error]]:
if response.status_code == 201:
response_201 = FileConversion.from_dict(response.json())
return response_201
@ -69,7 +50,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[FileConversio
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[FileConversion, Error]]]:
@ -82,37 +62,16 @@ def _build_response(
def sync_detailed(
output_format: FileExportFormat,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileConversion, Error]]]:
kwargs = _get_kwargs(
output_format=output_format,
src_format=src_format,
body=body,
client=client,
)
@ -125,78 +84,37 @@ def sync_detailed(
def sync(
output_format: FileExportFormat,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileConversion, Error]] :
) -> Optional[Union[FileConversion, Error]]:
"""If you wish to specify the conversion options, use the `/file/conversion` endpoint instead.
Convert a CAD file from one format to another. If the file being converted is larger than 25MB, it will be performed asynchronously.
If the conversion is performed synchronously, the contents of the converted file (`output`) will be returned as a base64 encoded string.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
Convert a CAD file from one format to another. If the file being converted is larger than 25MB, it will be performed asynchronously.
If the conversion is performed synchronously, the contents of the converted file (`output`) will be returned as a base64 encoded string.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return sync_detailed(
output_format=output_format,
src_format=src_format,
body=body,
client=client,
).parsed
async def asyncio_detailed(
output_format: FileExportFormat,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileConversion, Error]]]:
kwargs = _get_kwargs(
output_format=output_format,
src_format=src_format,
body=body,
client=client,
)
@ -207,43 +125,23 @@ async def asyncio_detailed(
async def asyncio(
output_format: FileExportFormat,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileConversion, Error]] :
) -> Optional[Union[FileConversion, Error]]:
"""If you wish to specify the conversion options, use the `/file/conversion` endpoint instead.
Convert a CAD file from one format to another. If the file being converted is larger than 25MB, it will be performed asynchronously.
If the conversion is performed synchronously, the contents of the converted file (`output`) will be returned as a base64 encoded string.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
Convert a CAD file from one format to another. If the file being converted is larger than 25MB, it will be performed asynchronously.
If the conversion is performed synchronously, the contents of the converted file (`output`) will be returned as a base64 encoded string.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return (
await asyncio_detailed(
output_format=output_format,
src_format=src_format,
body=body,
client=client,
)
).parsed

View File

@ -12,43 +12,17 @@ from ...types import Response
def _get_kwargs(
material_mass: float,
material_mass_unit: UnitMass,
output_unit: UnitDensity,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/file/density".format(client.base_url, ) # noqa: E501
url = "{}/file/density".format(
client.base_url,
) # noqa: E501
if material_mass is not None:
if "?" in url:
@ -56,35 +30,24 @@ def _get_kwargs(
else:
url = url + "?material_mass=" + str(material_mass)
if material_mass_unit is not None:
if "?" in url:
url = url + "&material_mass_unit=" + str(material_mass_unit)
else:
url = url + "?material_mass_unit=" + str(material_mass_unit)
if output_unit is not None:
if "?" in url:
url = url + "&output_unit=" + str(output_unit)
else:
url = url + "?output_unit=" + str(output_unit)
if src_format is not None:
if "?" in url:
url = url + "&src_format=" + str(src_format)
else:
url = url + "?src_format=" + str(src_format)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -97,7 +60,7 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[FileDensity, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[FileDensity, Error]]:
if response.status_code == 201:
response_201 = FileDensity.from_dict(response.json())
return response_201
@ -110,7 +73,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[FileDensity,
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[FileDensity, Error]]]:
@ -123,53 +85,20 @@ def _build_response(
def sync_detailed(
material_mass: float,
material_mass_unit: UnitMass,
output_unit: UnitDensity,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileDensity, Error]]]:
kwargs = _get_kwargs(
material_mass=material_mass,
material_mass_unit=material_mass_unit,
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
@ -182,111 +111,46 @@ def sync_detailed(
def sync(
material_mass: float,
material_mass_unit: UnitMass,
output_unit: UnitDensity,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileDensity, Error]] :
) -> Optional[Union[FileDensity, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint assumes if you are giving a material mass in a specific mass units, we return a density in mass unit per cubic measure unit.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the density of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
This endpoint assumes if you are giving a material mass in a specific mass units, we return a density in mass unit per cubic measure unit.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the density of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return sync_detailed(
material_mass=material_mass,
material_mass_unit=material_mass_unit,
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
).parsed
async def asyncio_detailed(
material_mass: float,
material_mass_unit: UnitMass,
output_unit: UnitDensity,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileDensity, Error]]]:
kwargs = _get_kwargs(
material_mass=material_mass,
material_mass_unit=material_mass_unit,
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
@ -297,60 +161,28 @@ async def asyncio_detailed(
async def asyncio(
material_mass: float,
material_mass_unit: UnitMass,
output_unit: UnitDensity,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileDensity, Error]] :
) -> Optional[Union[FileDensity, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint assumes if you are giving a material mass in a specific mass units, we return a density in mass unit per cubic measure unit.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the density of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
This endpoint assumes if you are giving a material mass in a specific mass units, we return a density in mass unit per cubic measure unit.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the density of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return (
await asyncio_detailed(
material_mass=material_mass,
material_mass_unit=material_mass_unit,
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
).parsed

View File

@ -12,43 +12,17 @@ from ...types import Response
def _get_kwargs(
material_density: float,
material_density_unit: UnitDensity,
output_unit: UnitMass,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/file/mass".format(client.base_url, ) # noqa: E501
url = "{}/file/mass".format(
client.base_url,
) # noqa: E501
if material_density is not None:
if "?" in url:
@ -56,35 +30,24 @@ def _get_kwargs(
else:
url = url + "?material_density=" + str(material_density)
if material_density_unit is not None:
if "?" in url:
url = url + "&material_density_unit=" + str(material_density_unit)
else:
url = url + "?material_density_unit=" + str(material_density_unit)
if output_unit is not None:
if "?" in url:
url = url + "&output_unit=" + str(output_unit)
else:
url = url + "?output_unit=" + str(output_unit)
if src_format is not None:
if "?" in url:
url = url + "&src_format=" + str(src_format)
else:
url = url + "?src_format=" + str(src_format)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -97,7 +60,7 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[FileMass, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[FileMass, Error]]:
if response.status_code == 201:
response_201 = FileMass.from_dict(response.json())
return response_201
@ -110,7 +73,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[FileMass, Err
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[FileMass, Error]]]:
@ -123,53 +85,20 @@ def _build_response(
def sync_detailed(
material_density: float,
material_density_unit: UnitDensity,
output_unit: UnitMass,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileMass, Error]]]:
kwargs = _get_kwargs(
material_density=material_density,
material_density_unit=material_density_unit,
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
@ -182,111 +111,46 @@ def sync_detailed(
def sync(
material_density: float,
material_density_unit: UnitDensity,
output_unit: UnitMass,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileMass, Error]] :
) -> Optional[Union[FileMass, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint assumes if you are giving a material density in a specific mass unit per cubic measure unit, we return a mass in mass units. The same mass units as passed in the material density.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
This endpoint assumes if you are giving a material density in a specific mass unit per cubic measure unit, we return a mass in mass units. The same mass units as passed in the material density.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return sync_detailed(
material_density=material_density,
material_density_unit=material_density_unit,
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
).parsed
async def asyncio_detailed(
material_density: float,
material_density_unit: UnitDensity,
output_unit: UnitMass,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileMass, Error]]]:
kwargs = _get_kwargs(
material_density=material_density,
material_density_unit=material_density_unit,
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
@ -297,60 +161,28 @@ async def asyncio_detailed(
async def asyncio(
material_density: float,
material_density_unit: UnitDensity,
output_unit: UnitMass,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileMass, Error]] :
) -> Optional[Union[FileMass, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint assumes if you are giving a material density in a specific mass unit per cubic measure unit, we return a mass in mass units. The same mass units as passed in the material density.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
This endpoint assumes if you are giving a material density in a specific mass unit per cubic measure unit, we return a mass in mass units. The same mass units as passed in the material density.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return (
await asyncio_detailed(
material_density=material_density,
material_density_unit=material_density_unit,
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
).parsed

View File

@ -11,31 +11,15 @@ from ...types import Response
def _get_kwargs(
output_unit: UnitArea,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/file/surface-area".format(client.base_url, ) # noqa: E501
url = "{}/file/surface-area".format(
client.base_url,
) # noqa: E501
if output_unit is not None:
if "?" in url:
@ -43,19 +27,12 @@ def _get_kwargs(
else:
url = url + "?output_unit=" + str(output_unit)
if src_format is not None:
if "?" in url:
url = url + "&src_format=" + str(src_format)
else:
url = url + "?src_format=" + str(src_format)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -68,7 +45,9 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[FileSurfaceArea, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[FileSurfaceArea, Error]]:
if response.status_code == 201:
response_201 = FileSurfaceArea.from_dict(response.json())
return response_201
@ -81,7 +60,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[FileSurfaceAr
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[FileSurfaceArea, Error]]]:
@ -94,37 +72,16 @@ def _build_response(
def sync_detailed(
output_unit: UnitArea,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileSurfaceArea, Error]]]:
kwargs = _get_kwargs(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
@ -137,79 +94,38 @@ def sync_detailed(
def sync(
output_unit: UnitArea,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileSurfaceArea, Error]] :
) -> Optional[Union[FileSurfaceArea, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the square measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
This endpoint returns the square measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return sync_detailed(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
).parsed
async def asyncio_detailed(
output_unit: UnitArea,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileSurfaceArea, Error]]]:
kwargs = _get_kwargs(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
@ -220,44 +136,24 @@ async def asyncio_detailed(
async def asyncio(
output_unit: UnitArea,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileSurfaceArea, Error]] :
) -> Optional[Union[FileSurfaceArea, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the square measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
This endpoint returns the square measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return (
await asyncio_detailed(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
).parsed

View File

@ -11,31 +11,15 @@ from ...types import Response
def _get_kwargs(
output_unit: UnitVolume,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/file/volume".format(client.base_url, ) # noqa: E501
url = "{}/file/volume".format(
client.base_url,
) # noqa: E501
if output_unit is not None:
if "?" in url:
@ -43,19 +27,12 @@ def _get_kwargs(
else:
url = url + "?output_unit=" + str(output_unit)
if src_format is not None:
if "?" in url:
url = url + "&src_format=" + str(src_format)
else:
url = url + "?src_format=" + str(src_format)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -68,7 +45,7 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[FileVolume, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[FileVolume, Error]]:
if response.status_code == 201:
response_201 = FileVolume.from_dict(response.json())
return response_201
@ -81,7 +58,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[FileVolume, E
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[FileVolume, Error]]]:
@ -94,37 +70,16 @@ def _build_response(
def sync_detailed(
output_unit: UnitVolume,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileVolume, Error]]]:
kwargs = _get_kwargs(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
@ -137,79 +92,38 @@ def sync_detailed(
def sync(
output_unit: UnitVolume,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileVolume, Error]] :
) -> Optional[Union[FileVolume, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the cubic measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
This endpoint returns the cubic measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return sync_detailed(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
).parsed
async def asyncio_detailed(
output_unit: UnitVolume,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Response[Optional[Union[FileVolume, Error]]]:
kwargs = _get_kwargs(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
@ -220,44 +134,24 @@ async def asyncio_detailed(
async def asyncio(
output_unit: UnitVolume,
src_format: FileImportFormat,
body: bytes,
*,
client: Client,
) -> Optional[Union[FileVolume, Error]] :
) -> Optional[Union[FileVolume, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the cubic measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
This endpoint returns the cubic measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
""" # noqa: E501
return (
await asyncio_detailed(
output_unit=output_unit,
src_format=src_format,
body=body,
client=client,
)
).parsed

View File

@ -10,22 +10,13 @@ from ...types import Response
def _get_kwargs(
body: EmailAuthenticationForm,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/auth/email".format(client.base_url, ) # noqa: E501
url = "{}/auth/email".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -39,7 +30,9 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[VerificationToken, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[VerificationToken, Error]]:
if response.status_code == 201:
response_201 = VerificationToken.from_dict(response.json())
return response_201
@ -52,7 +45,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[VerificationT
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[VerificationToken, Error]]]:
@ -65,21 +57,12 @@ def _build_response(
def sync_detailed(
body: EmailAuthenticationForm,
*,
client: Client,
) -> Response[Optional[Union[VerificationToken, Error]]]:
kwargs = _get_kwargs(
body=body,
client=client,
)
@ -92,43 +75,23 @@ def sync_detailed(
def sync(
body: EmailAuthenticationForm,
*,
client: Client,
) -> Optional[Union[VerificationToken, Error]] :
) -> Optional[Union[VerificationToken, Error]]:
return sync_detailed(
body=body,
client=client,
).parsed
async def asyncio_detailed(
body: EmailAuthenticationForm,
*,
client: Client,
) -> Response[Optional[Union[VerificationToken, Error]]]:
kwargs = _get_kwargs(
body=body,
client=client,
)
@ -139,24 +102,13 @@ async def asyncio_detailed(
async def asyncio(
body: EmailAuthenticationForm,
*,
client: Client,
) -> Optional[Union[VerificationToken, Error]] :
) -> Optional[Union[VerificationToken, Error]]:
return (
await asyncio_detailed(
body=body,
client=client,
)
).parsed

View File

@ -8,31 +8,15 @@ from ...types import Response
def _get_kwargs(
email: str,
token: str,
*,
client: Client,
callback_url: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/auth/email/callback".format(client.base_url, ) # noqa: E501
url = "{}/auth/email/callback".format(
client.base_url,
) # noqa: E501
if callback_url is not None:
if "?" in url:
@ -40,25 +24,18 @@ def _get_kwargs(
else:
url = url + "?callback_url=" + str(callback_url)
if email is not None:
if "?" in url:
url = url + "&email=" + str(email)
else:
url = url + "?email=" + str(email)
if token is not None:
if "?" in url:
url = url + "&token=" + str(token)
else:
url = url + "?token=" + str(token)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -67,11 +44,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Error] :
def _parse_response(*, response: httpx.Response) -> Optional[Error]:
return None
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -82,10 +58,7 @@ def _parse_response(*, response: httpx.Response) -> Optional[Error] :
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Error]]:
def _build_response(*, response: httpx.Response) -> Response[Optional[Error]]:
return Response(
status_code=response.status_code,
content=response.content,
@ -95,37 +68,16 @@ def _build_response(
def sync_detailed(
email: str,
token: str,
*,
client: Client,
callback_url: Optional[str] = None,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
callback_url=callback_url,
email=email,
token=token,
client=client,
)
@ -138,75 +90,31 @@ def sync_detailed(
def sync(
email: str,
token: str,
*,
client: Client,
callback_url: Optional[str] = None,
) -> Optional[Error] :
) -> Optional[Error]:
return sync_detailed(
callback_url=callback_url,
email=email,
token=token,
client=client,
).parsed
async def asyncio_detailed(
email: str,
token: str,
*,
client: Client,
callback_url: Optional[str] = None,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
callback_url=callback_url,
email=email,
token=token,
client=client,
)
@ -217,40 +125,17 @@ async def asyncio_detailed(
async def asyncio(
email: str,
token: str,
*,
client: Client,
callback_url: Optional[str] = None,
) -> Optional[Error] :
) -> Optional[Error]:
return (
await asyncio_detailed(
callback_url=callback_url,
email=email,
token=token,
client=client,
)
).parsed

View File

@ -8,14 +8,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/logout".format(client.base_url, ) # noqa: E501
url = "{}/logout".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -25,11 +23,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Error] :
def _parse_response(*, response: httpx.Response) -> Optional[Error]:
return None
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -40,10 +37,7 @@ def _parse_response(*, response: httpx.Response) -> Optional[Error] :
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Error]]:
def _build_response(*, response: httpx.Response) -> Response[Optional[Error]]:
return Response(
status_code=response.status_code,
content=response.content,
@ -53,13 +47,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
client=client,
)
@ -72,27 +63,21 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This is used in logout scenarios.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
client=client,
)
@ -103,16 +88,13 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This is used in logout scenarios.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/.well-known/ai-plugin.json".format(client.base_url, ) # noqa: E501
url = "{}/.well-known/ai-plugin.json".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[AiPluginManifest, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[AiPluginManifest, Error]]:
if response.status_code == 200:
response_200 = AiPluginManifest.from_dict(response.json())
return response_200
@ -43,7 +42,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[AiPluginManif
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[AiPluginManifest, Error]]]:
@ -56,13 +54,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[AiPluginManifest, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,27 +70,19 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[AiPluginManifest, Error]] :
) -> Optional[Union[AiPluginManifest, Error]]:
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[AiPluginManifest, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -106,16 +93,11 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[AiPluginManifest, Error]] :
) -> Optional[Union[AiPluginManifest, Error]]:
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/_meta/info".format(client.base_url, ) # noqa: E501
url = "{}/_meta/info".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[Metadata, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[Metadata, Error]]:
if response.status_code == 200:
response_200 = Metadata.from_dict(response.json())
return response_200
@ -43,7 +40,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[Metadata, Err
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[Metadata, Error]]]:
@ -56,13 +52,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[Metadata, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,28 +68,22 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[Metadata, Error]] :
) -> Optional[Union[Metadata, Error]]:
"""This includes information on any of our other distributed systems it is connected to.
You must be a KittyCAD employee to perform this request.""" # noqa: E501
You must be a KittyCAD employee to perform this request.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[Metadata, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -107,17 +94,14 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[Metadata, Error]] :
) -> Optional[Union[Metadata, Error]]:
"""This includes information on any of our other distributed systems it is connected to.
You must be a KittyCAD employee to perform this request.""" # noqa: E501
You must be a KittyCAD employee to perform this request.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -8,14 +8,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/openai/openapi.json".format(client.base_url, ) # noqa: E501
url = "{}/openai/openapi.json".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -25,11 +23,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[dict, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[dict, Error]]:
if response.status_code == 200:
response_200 = response.json()
return response_200
@ -42,7 +39,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[dict, Error]]
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[dict, Error]]]:
@ -55,13 +51,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[dict, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -74,27 +67,21 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[dict, Error]] :
) -> Optional[Union[dict, Error]]:
"""This is the same as the OpenAPI schema, BUT it has some modifications to make it compatible with OpenAI. For example, descriptions must be < 300 chars.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[dict, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -105,16 +92,13 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[dict, Error]] :
) -> Optional[Union[dict, Error]]:
"""This is the same as the OpenAPI schema, BUT it has some modifications to make it compatible with OpenAI. For example, descriptions must be < 300 chars.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -8,14 +8,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/".format(client.base_url, ) # noqa: E501
url = "{}/".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -25,11 +23,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[dict, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[dict, Error]]:
if response.status_code == 200:
response_200 = response.json()
return response_200
@ -42,7 +39,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[dict, Error]]
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[dict, Error]]]:
@ -55,13 +51,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[dict, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -74,27 +67,19 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[dict, Error]] :
) -> Optional[Union[dict, Error]]:
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[dict, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -105,16 +90,11 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[dict, Error]] :
) -> Optional[Union[dict, Error]]:
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -0,0 +1,117 @@
from typing import Any, Dict, Optional, Union
import httpx
from ...client import Client
from ...models.api_token import ApiToken
from ...models.error import Error
from ...types import Response
def _get_kwargs(
discord_id: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/internal/discord/api-token/{discord_id}".format(
client.base_url,
discord_id=discord_id,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
return {
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ApiToken, Error]]:
if response.status_code == 200:
response_200 = ApiToken.from_dict(response.json())
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ApiToken, Error]]]:
return Response(
status_code=response.status_code,
content=response.content,
headers=response.headers,
parsed=_parse_response(response=response),
)
def sync_detailed(
discord_id: str,
*,
client: Client,
) -> Response[Optional[Union[ApiToken, Error]]]:
kwargs = _get_kwargs(
discord_id=discord_id,
client=client,
)
response = httpx.get(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(response=response)
def sync(
discord_id: str,
*,
client: Client,
) -> Optional[Union[ApiToken, Error]]:
"""This endpoint allows us to run API calls from our discord bot on behalf of a user. The user must have a discord account linked to their KittyCAD Account via oauth2 for this to work.
You must be a KittyCAD employee to use this endpoint.""" # noqa: E501
return sync_detailed(
discord_id=discord_id,
client=client,
).parsed
async def asyncio_detailed(
discord_id: str,
*,
client: Client,
) -> Response[Optional[Union[ApiToken, Error]]]:
kwargs = _get_kwargs(
discord_id=discord_id,
client=client,
)
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.get(**kwargs)
return _build_response(response=response)
async def asyncio(
discord_id: str,
*,
client: Client,
) -> Optional[Union[ApiToken, Error]]:
"""This endpoint allows us to run API calls from our discord bot on behalf of a user. The user must have a discord account linked to their KittyCAD Account via oauth2 for this to work.
You must be a KittyCAD employee to use this endpoint.""" # noqa: E501
return (
await asyncio_detailed(
discord_id=discord_id,
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/ping".format(client.base_url, ) # noqa: E501
url = "{}/ping".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[Pong, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[Pong, Error]]:
if response.status_code == 200:
response_200 = Pong.from_dict(response.json())
return response_200
@ -43,7 +40,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[Pong, Error]]
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[Pong, Error]]]:
@ -56,13 +52,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[Pong, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,27 +68,19 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[Pong, Error]] :
) -> Optional[Union[Pong, Error]]:
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[Pong, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -106,16 +91,11 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[Pong, Error]] :
) -> Optional[Union[Pong, Error]]:
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -1,66 +1,37 @@
import json
from typing import Any, Dict
import bson
from websockets.client import WebSocketClientProtocol, connect as ws_connect_async
from websockets.sync.client import ClientConnection, connect as ws_connect
from ...client import Client
from ...models.error import Error
from ...models.web_socket_request import WebSocketRequest
from ...models.web_socket_response import WebSocketResponse
def _get_kwargs(
fps: int,
unlocked_framerate: bool,
video_res_height: int,
video_res_width: int,
webrtc: bool,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/ws/modeling/commands".format(client.base_url) # noqa: E501
if fps is not None:
if "?" in url:
url = url + "&fps=" + str(fps)
else:
url = url + "?fps=" + str(fps)
if unlocked_framerate is not None:
if "?" in url:
url = url + "&unlocked_framerate=" + str(unlocked_framerate)
url = url + "&unlocked_framerate=" + str(unlocked_framerate).lower()
else:
url = url + "?unlocked_framerate=" + str(unlocked_framerate)
url = url + "?unlocked_framerate=" + str(unlocked_framerate).lower()
if video_res_height is not None:
if "?" in url:
@ -68,24 +39,17 @@ def _get_kwargs(
else:
url = url + "?video_res_height=" + str(video_res_height)
if video_res_width is not None:
if "?" in url:
url = url + "&video_res_width=" + str(video_res_width)
else:
url = url + "?video_res_width=" + str(video_res_width)
if webrtc is not None:
if "?" in url:
url = url + "&webrtc=" + str(webrtc)
url = url + "&webrtc=" + str(webrtc).lower()
else:
url = url + "?webrtc=" + str(webrtc)
url = url + "?webrtc=" + str(webrtc).lower()
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -95,126 +59,101 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def sync(
fps: int,
unlocked_framerate: bool,
video_res_height: int,
video_res_width: int,
webrtc: bool,
*,
client: Client,
) -> ClientConnection:
"""Pass those commands to the engine via websocket, and pass responses back to the client. Basically, this is a websocket proxy between the frontend/client and the engine.""" # noqa: E501
kwargs = _get_kwargs(
fps=fps,
unlocked_framerate=unlocked_framerate,
video_res_height=video_res_height,
video_res_width=video_res_width,
webrtc=webrtc,
client=client,
)
with ws_connect(kwargs["url"].replace("https://", "wss://"), additional_headers=kwargs["headers"]) as websocket:
return websocket # type: ignore
# Return an error if we got here.
return Error(message="An error occurred while connecting to the websocket.")
return ws_connect(kwargs["url"].replace("http", "ws"), additional_headers=kwargs["headers"], close_timeout=None, compression=None, max_size=None) # type: ignore
async def asyncio(
fps: int,
unlocked_framerate: bool,
video_res_height: int,
video_res_width: int,
webrtc: bool,
*,
client: Client,
) -> WebSocketClientProtocol:
"""Pass those commands to the engine via websocket, and pass responses back to the client. Basically, this is a websocket proxy between the frontend/client and the engine.""" # noqa: E501
kwargs = _get_kwargs(
fps=fps,
unlocked_framerate=unlocked_framerate,
video_res_height=video_res_height,
video_res_width=video_res_width,
webrtc=webrtc,
client=client,
)
async with ws_connect_async(kwargs["url"].replace("https://", "wss://"), extra_headers=kwargs["headers"]) as websocket:
return websocket
return await ws_connect_async(
kwargs["url"].replace("http", "ws"), extra_headers=kwargs["headers"]
)
# Return an error if we got here.
return Error(message="An error occurred while connecting to the websocket.")
class WebSocket:
"""A websocket connection to the API endpoint."""
ws: ClientConnection
def __init__(
self,
fps: int,
unlocked_framerate: bool,
video_res_height: int,
video_res_width: int,
webrtc: bool,
client: Client,
):
self.ws = sync(
fps,
unlocked_framerate,
video_res_height,
video_res_width,
webrtc,
client=client,
)
def __enter__(
self,
):
return self
def __exit__(self, exc_type, exc_value, traceback):
self.close()
def send(self, data: WebSocketRequest):
"""Send data to the websocket."""
self.ws.send(json.dumps(data.to_dict()))
def send_binary(self, data: WebSocketRequest):
"""Send data as bson to the websocket."""
self.ws.send(bson.BSON.encode(data.to_dict()))
def recv(self) -> WebSocketResponse:
"""Receive data from the websocket."""
message = self.ws.recv()
return WebSocketResponse.from_dict(json.loads(message))
def close(self):
"""Close the websocket."""
self.ws.close()

View File

@ -10,22 +10,13 @@ from ...types import Response
def _get_kwargs(
body: BillingInfo,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/payment".format(client.base_url, ) # noqa: E501
url = "{}/user/payment".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -39,7 +30,7 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[Customer, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[Customer, Error]]:
if response.status_code == 201:
response_201 = Customer.from_dict(response.json())
return response_201
@ -52,7 +43,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[Customer, Err
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[Customer, Error]]]:
@ -65,21 +55,12 @@ def _build_response(
def sync_detailed(
body: BillingInfo,
*,
client: Client,
) -> Response[Optional[Union[Customer, Error]]]:
kwargs = _get_kwargs(
body=body,
client=client,
)
@ -92,44 +73,27 @@ def sync_detailed(
def sync(
body: BillingInfo,
*,
client: Client,
) -> Optional[Union[Customer, Error]] :
) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name.
This endpoint requires authentication by any KittyCAD user. It creates the payment information for the authenticated user.""" # noqa: E501
This endpoint requires authentication by any KittyCAD user. It creates the payment information for the authenticated user.
""" # noqa: E501
return sync_detailed(
body=body,
client=client,
).parsed
async def asyncio_detailed(
body: BillingInfo,
*,
client: Client,
) -> Response[Optional[Union[Customer, Error]]]:
kwargs = _get_kwargs(
body=body,
client=client,
)
@ -140,25 +104,17 @@ async def asyncio_detailed(
async def asyncio(
body: BillingInfo,
*,
client: Client,
) -> Optional[Union[Customer, Error]] :
) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name.
This endpoint requires authentication by any KittyCAD user. It creates the payment information for the authenticated user.""" # noqa: E501
This endpoint requires authentication by any KittyCAD user. It creates the payment information for the authenticated user.
""" # noqa: E501
return (
await asyncio_detailed(
body=body,
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/payment/intent".format(client.base_url, ) # noqa: E501
url = "{}/user/payment/intent".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[PaymentIntent, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[PaymentIntent, Error]]:
if response.status_code == 201:
response_201 = PaymentIntent.from_dict(response.json())
return response_201
@ -43,7 +42,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[PaymentIntent
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[PaymentIntent, Error]]]:
@ -56,13 +54,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[PaymentIntent, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,27 +70,21 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[PaymentIntent, Error]] :
) -> Optional[Union[PaymentIntent, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It creates a new payment intent for the authenticated user.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[PaymentIntent, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -106,16 +95,13 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[PaymentIntent, Error]] :
) -> Optional[Union[PaymentIntent, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It creates a new payment intent for the authenticated user.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -8,14 +8,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/payment".format(client.base_url, ) # noqa: E501
url = "{}/user/payment".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -25,11 +23,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Error] :
def _parse_response(*, response: httpx.Response) -> Optional[Error]:
return None
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -40,10 +37,7 @@ def _parse_response(*, response: httpx.Response) -> Optional[Error] :
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Error]]:
def _build_response(*, response: httpx.Response) -> Response[Optional[Error]]:
return Response(
status_code=response.status_code,
content=response.content,
@ -53,13 +47,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
client=client,
)
@ -72,28 +63,23 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This includes billing address, phone, and name.
This endpoint requires authentication by any KittyCAD user. It deletes the payment information for the authenticated user.""" # noqa: E501
This endpoint requires authentication by any KittyCAD user. It deletes the payment information for the authenticated user.
""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
client=client,
)
@ -104,17 +90,15 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This includes billing address, phone, and name.
This endpoint requires authentication by any KittyCAD user. It deletes the payment information for the authenticated user.""" # noqa: E501
This endpoint requires authentication by any KittyCAD user. It deletes the payment information for the authenticated user.
""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -8,22 +8,14 @@ from ...types import Response
def _get_kwargs(
id: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/payment/methods/{id}".format(client.base_url, id=id,) # noqa: E501
url = "{}/user/payment/methods/{id}".format(
client.base_url,
id=id,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -33,11 +25,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Error] :
def _parse_response(*, response: httpx.Response) -> Optional[Error]:
return None
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -48,10 +39,7 @@ def _parse_response(*, response: httpx.Response) -> Optional[Error] :
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Error]]:
def _build_response(*, response: httpx.Response) -> Response[Optional[Error]]:
return Response(
status_code=response.status_code,
content=response.content,
@ -61,21 +49,12 @@ def _build_response(
def sync_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -88,43 +67,25 @@ def sync_detailed(
def sync(
id: str,
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This endpoint requires authentication by any KittyCAD user. It deletes the specified payment method for the authenticated user.""" # noqa: E501
return sync_detailed(
id=id,
client=client,
).parsed
async def asyncio_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -135,24 +96,15 @@ async def asyncio_detailed(
async def asyncio(
id: str,
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This endpoint requires authentication by any KittyCAD user. It deletes the specified payment method for the authenticated user.""" # noqa: E501
return (
await asyncio_detailed(
id=id,
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/payment/balance".format(client.base_url, ) # noqa: E501
url = "{}/user/payment/balance".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[CustomerBalance, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[CustomerBalance, Error]]:
if response.status_code == 200:
response_200 = CustomerBalance.from_dict(response.json())
return response_200
@ -43,7 +42,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[CustomerBalan
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[CustomerBalance, Error]]]:
@ -56,13 +54,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[CustomerBalance, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,27 +70,21 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[CustomerBalance, Error]] :
) -> Optional[Union[CustomerBalance, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It gets the balance information for the authenticated user.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[CustomerBalance, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -106,16 +95,13 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[CustomerBalance, Error]] :
) -> Optional[Union[CustomerBalance, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It gets the balance information for the authenticated user.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/payment".format(client.base_url, ) # noqa: E501
url = "{}/user/payment".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[Customer, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[Customer, Error]]:
if response.status_code == 200:
response_200 = Customer.from_dict(response.json())
return response_200
@ -43,7 +40,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[Customer, Err
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[Customer, Error]]]:
@ -56,13 +52,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[Customer, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,28 +68,23 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[Customer, Error]] :
) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name.
This endpoint requires authentication by any KittyCAD user. It gets the payment information for the authenticated user.""" # noqa: E501
This endpoint requires authentication by any KittyCAD user. It gets the payment information for the authenticated user.
""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[Customer, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -107,17 +95,15 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[Customer, Error]] :
) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name.
This endpoint requires authentication by any KittyCAD user. It gets the payment information for the authenticated user.""" # noqa: E501
This endpoint requires authentication by any KittyCAD user. It gets the payment information for the authenticated user.
""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/payment/invoices".format(client.base_url, ) # noqa: E501
url = "{}/user/payment/invoices".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,16 +24,14 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[List[Invoice], Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[List[Invoice], Error]]:
if response.status_code == 200:
response_200 = [
Invoice.from_dict(item)
for item in response.json()
]
response_200 = [Invoice.from_dict(item) for item in response.json()]
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -46,7 +42,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[List[Invoice]
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[List[Invoice], Error]]]:
@ -59,13 +54,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[List[Invoice], Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -78,27 +70,21 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[List[Invoice], Error]] :
) -> Optional[Union[List[Invoice], Error]]:
"""This endpoint requires authentication by any KittyCAD user. It lists invoices for the authenticated user.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[List[Invoice], Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -109,16 +95,13 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[List[Invoice], Error]] :
) -> Optional[Union[List[Invoice], Error]]:
"""This endpoint requires authentication by any KittyCAD user. It lists invoices for the authenticated user.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/payment/methods".format(client.base_url, ) # noqa: E501
url = "{}/user/payment/methods".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,16 +24,14 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[List[PaymentMethod], Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[List[PaymentMethod], Error]]:
if response.status_code == 200:
response_200 = [
PaymentMethod.from_dict(item)
for item in response.json()
]
response_200 = [PaymentMethod.from_dict(item) for item in response.json()]
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -46,7 +42,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[List[PaymentM
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[List[PaymentMethod], Error]]]:
@ -59,13 +54,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[List[PaymentMethod], Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -78,27 +70,21 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[List[PaymentMethod], Error]] :
) -> Optional[Union[List[PaymentMethod], Error]]:
"""This endpoint requires authentication by any KittyCAD user. It lists payment methods for the authenticated user.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[List[PaymentMethod], Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -109,16 +95,13 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[List[PaymentMethod], Error]] :
) -> Optional[Union[List[PaymentMethod], Error]]:
"""This endpoint requires authentication by any KittyCAD user. It lists payment methods for the authenticated user.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -10,22 +10,13 @@ from ...types import Response
def _get_kwargs(
body: BillingInfo,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/payment".format(client.base_url, ) # noqa: E501
url = "{}/user/payment".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -39,7 +30,7 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[Customer, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[Customer, Error]]:
if response.status_code == 200:
response_200 = Customer.from_dict(response.json())
return response_200
@ -52,7 +43,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[Customer, Err
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[Customer, Error]]]:
@ -65,21 +55,12 @@ def _build_response(
def sync_detailed(
body: BillingInfo,
*,
client: Client,
) -> Response[Optional[Union[Customer, Error]]]:
kwargs = _get_kwargs(
body=body,
client=client,
)
@ -92,44 +73,27 @@ def sync_detailed(
def sync(
body: BillingInfo,
*,
client: Client,
) -> Optional[Union[Customer, Error]] :
) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name.
This endpoint requires authentication by any KittyCAD user. It updates the payment information for the authenticated user.""" # noqa: E501
This endpoint requires authentication by any KittyCAD user. It updates the payment information for the authenticated user.
""" # noqa: E501
return sync_detailed(
body=body,
client=client,
).parsed
async def asyncio_detailed(
body: BillingInfo,
*,
client: Client,
) -> Response[Optional[Union[Customer, Error]]]:
kwargs = _get_kwargs(
body=body,
client=client,
)
@ -140,25 +104,17 @@ async def asyncio_detailed(
async def asyncio(
body: BillingInfo,
*,
client: Client,
) -> Optional[Union[Customer, Error]] :
) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name.
This endpoint requires authentication by any KittyCAD user. It updates the payment information for the authenticated user.""" # noqa: E501
This endpoint requires authentication by any KittyCAD user. It updates the payment information for the authenticated user.
""" # noqa: E501
return (
await asyncio_detailed(
body=body,
client=client,
)
).parsed

View File

@ -8,14 +8,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/payment/tax".format(client.base_url, ) # noqa: E501
url = "{}/user/payment/tax".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -25,11 +23,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Error] :
def _parse_response(*, response: httpx.Response) -> Optional[Error]:
return None
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -40,10 +37,7 @@ def _parse_response(*, response: httpx.Response) -> Optional[Error] :
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Error]]:
def _build_response(*, response: httpx.Response) -> Response[Optional[Error]]:
return Response(
status_code=response.status_code,
content=response.content,
@ -53,13 +47,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
client=client,
)
@ -72,27 +63,21 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This endpoint requires authentication by any KittyCAD user. It will return an error if the customer's information is not valid for automatic tax. Otherwise, it will return an empty successful response.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
client=client,
)
@ -103,16 +88,13 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This endpoint requires authentication by any KittyCAD user. It will return an error if the customer's information is not valid for automatic tax. Otherwise, it will return an empty successful response.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitAngle,
output_unit: UnitAngle,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/angle/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/angle/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitAngleConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitAngleConversion, Error]]:
if response.status_code == 200:
response_200 = UnitAngleConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitAngleConv
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitAngleConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitAngle,
output_unit: UnitAngle,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitAngleConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitAngle,
output_unit: UnitAngle,
value: float,
*,
client: Client,
) -> Optional[Union[UnitAngleConversion, Error]] :
) -> Optional[Union[UnitAngleConversion, Error]]:
"""Convert an angle unit value to another angle unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitAngle,
output_unit: UnitAngle,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitAngleConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitAngle,
output_unit: UnitAngle,
value: float,
*,
client: Client,
) -> Optional[Union[UnitAngleConversion, Error]] :
) -> Optional[Union[UnitAngleConversion, Error]]:
"""Convert an angle unit value to another angle unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitArea,
output_unit: UnitArea,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/area/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/area/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitAreaConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitAreaConversion, Error]]:
if response.status_code == 200:
response_200 = UnitAreaConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitAreaConve
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitAreaConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitArea,
output_unit: UnitArea,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitAreaConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitArea,
output_unit: UnitArea,
value: float,
*,
client: Client,
) -> Optional[Union[UnitAreaConversion, Error]] :
) -> Optional[Union[UnitAreaConversion, Error]]:
"""Convert an area unit value to another area unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitArea,
output_unit: UnitArea,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitAreaConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitArea,
output_unit: UnitArea,
value: float,
*,
client: Client,
) -> Optional[Union[UnitAreaConversion, Error]] :
) -> Optional[Union[UnitAreaConversion, Error]]:
"""Convert an area unit value to another area unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitCurrent,
output_unit: UnitCurrent,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/current/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/current/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitCurrentConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitCurrentConversion, Error]]:
if response.status_code == 200:
response_200 = UnitCurrentConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitCurrentCo
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitCurrentConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitCurrent,
output_unit: UnitCurrent,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitCurrentConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitCurrent,
output_unit: UnitCurrent,
value: float,
*,
client: Client,
) -> Optional[Union[UnitCurrentConversion, Error]] :
) -> Optional[Union[UnitCurrentConversion, Error]]:
"""Convert a current unit value to another current unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitCurrent,
output_unit: UnitCurrent,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitCurrentConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitCurrent,
output_unit: UnitCurrent,
value: float,
*,
client: Client,
) -> Optional[Union[UnitCurrentConversion, Error]] :
) -> Optional[Union[UnitCurrentConversion, Error]]:
"""Convert a current unit value to another current unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitEnergy,
output_unit: UnitEnergy,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/energy/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/energy/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitEnergyConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitEnergyConversion, Error]]:
if response.status_code == 200:
response_200 = UnitEnergyConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitEnergyCon
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitEnergyConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitEnergy,
output_unit: UnitEnergy,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitEnergyConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitEnergy,
output_unit: UnitEnergy,
value: float,
*,
client: Client,
) -> Optional[Union[UnitEnergyConversion, Error]] :
) -> Optional[Union[UnitEnergyConversion, Error]]:
"""Convert a energy unit value to another energy unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitEnergy,
output_unit: UnitEnergy,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitEnergyConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitEnergy,
output_unit: UnitEnergy,
value: float,
*,
client: Client,
) -> Optional[Union[UnitEnergyConversion, Error]] :
) -> Optional[Union[UnitEnergyConversion, Error]]:
"""Convert a energy unit value to another energy unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitForce,
output_unit: UnitForce,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/force/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/force/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitForceConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitForceConversion, Error]]:
if response.status_code == 200:
response_200 = UnitForceConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitForceConv
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitForceConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitForce,
output_unit: UnitForce,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitForceConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitForce,
output_unit: UnitForce,
value: float,
*,
client: Client,
) -> Optional[Union[UnitForceConversion, Error]] :
) -> Optional[Union[UnitForceConversion, Error]]:
"""Convert a force unit value to another force unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitForce,
output_unit: UnitForce,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitForceConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitForce,
output_unit: UnitForce,
value: float,
*,
client: Client,
) -> Optional[Union[UnitForceConversion, Error]] :
) -> Optional[Union[UnitForceConversion, Error]]:
"""Convert a force unit value to another force unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitFrequency,
output_unit: UnitFrequency,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/frequency/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/frequency/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitFrequencyConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitFrequencyConversion, Error]]:
if response.status_code == 200:
response_200 = UnitFrequencyConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitFrequency
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitFrequencyConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitFrequency,
output_unit: UnitFrequency,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitFrequencyConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitFrequency,
output_unit: UnitFrequency,
value: float,
*,
client: Client,
) -> Optional[Union[UnitFrequencyConversion, Error]] :
) -> Optional[Union[UnitFrequencyConversion, Error]]:
"""Convert a frequency unit value to another frequency unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitFrequency,
output_unit: UnitFrequency,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitFrequencyConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitFrequency,
output_unit: UnitFrequency,
value: float,
*,
client: Client,
) -> Optional[Union[UnitFrequencyConversion, Error]] :
) -> Optional[Union[UnitFrequencyConversion, Error]]:
"""Convert a frequency unit value to another frequency unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitLength,
output_unit: UnitLength,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/length/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/length/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitLengthConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitLengthConversion, Error]]:
if response.status_code == 200:
response_200 = UnitLengthConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitLengthCon
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitLengthConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitLength,
output_unit: UnitLength,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitLengthConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitLength,
output_unit: UnitLength,
value: float,
*,
client: Client,
) -> Optional[Union[UnitLengthConversion, Error]] :
) -> Optional[Union[UnitLengthConversion, Error]]:
"""Convert a length unit value to another length unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitLength,
output_unit: UnitLength,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitLengthConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitLength,
output_unit: UnitLength,
value: float,
*,
client: Client,
) -> Optional[Union[UnitLengthConversion, Error]] :
) -> Optional[Union[UnitLengthConversion, Error]]:
"""Convert a length unit value to another length unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitMass,
output_unit: UnitMass,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/mass/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/mass/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitMassConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitMassConversion, Error]]:
if response.status_code == 200:
response_200 = UnitMassConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitMassConve
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitMassConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitMass,
output_unit: UnitMass,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitMassConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitMass,
output_unit: UnitMass,
value: float,
*,
client: Client,
) -> Optional[Union[UnitMassConversion, Error]] :
) -> Optional[Union[UnitMassConversion, Error]]:
"""Convert a mass unit value to another mass unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitMass,
output_unit: UnitMass,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitMassConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitMass,
output_unit: UnitMass,
value: float,
*,
client: Client,
) -> Optional[Union[UnitMassConversion, Error]] :
) -> Optional[Union[UnitMassConversion, Error]]:
"""Convert a mass unit value to another mass unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitPower,
output_unit: UnitPower,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/power/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/power/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitPowerConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitPowerConversion, Error]]:
if response.status_code == 200:
response_200 = UnitPowerConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitPowerConv
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitPowerConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitPower,
output_unit: UnitPower,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitPowerConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitPower,
output_unit: UnitPower,
value: float,
*,
client: Client,
) -> Optional[Union[UnitPowerConversion, Error]] :
) -> Optional[Union[UnitPowerConversion, Error]]:
"""Convert a power unit value to another power unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitPower,
output_unit: UnitPower,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitPowerConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitPower,
output_unit: UnitPower,
value: float,
*,
client: Client,
) -> Optional[Union[UnitPowerConversion, Error]] :
) -> Optional[Union[UnitPowerConversion, Error]]:
"""Convert a power unit value to another power unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitPressure,
output_unit: UnitPressure,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/pressure/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/pressure/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitPressureConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitPressureConversion, Error]]:
if response.status_code == 200:
response_200 = UnitPressureConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitPressureC
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitPressureConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitPressure,
output_unit: UnitPressure,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitPressureConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitPressure,
output_unit: UnitPressure,
value: float,
*,
client: Client,
) -> Optional[Union[UnitPressureConversion, Error]] :
) -> Optional[Union[UnitPressureConversion, Error]]:
"""Convert a pressure unit value to another pressure unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitPressure,
output_unit: UnitPressure,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitPressureConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitPressure,
output_unit: UnitPressure,
value: float,
*,
client: Client,
) -> Optional[Union[UnitPressureConversion, Error]] :
) -> Optional[Union[UnitPressureConversion, Error]]:
"""Convert a pressure unit value to another pressure unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitTemperature,
output_unit: UnitTemperature,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/temperature/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/temperature/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitTemperatureConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitTemperatureConversion, Error]]:
if response.status_code == 200:
response_200 = UnitTemperatureConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitTemperatu
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitTemperatureConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitTemperature,
output_unit: UnitTemperature,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitTemperatureConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitTemperature,
output_unit: UnitTemperature,
value: float,
*,
client: Client,
) -> Optional[Union[UnitTemperatureConversion, Error]] :
) -> Optional[Union[UnitTemperatureConversion, Error]]:
"""Convert a temperature unit value to another temperature unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitTemperature,
output_unit: UnitTemperature,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitTemperatureConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitTemperature,
output_unit: UnitTemperature,
value: float,
*,
client: Client,
) -> Optional[Union[UnitTemperatureConversion, Error]] :
) -> Optional[Union[UnitTemperatureConversion, Error]]:
"""Convert a temperature unit value to another temperature unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitTorque,
output_unit: UnitTorque,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/torque/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/torque/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitTorqueConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitTorqueConversion, Error]]:
if response.status_code == 200:
response_200 = UnitTorqueConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitTorqueCon
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitTorqueConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitTorque,
output_unit: UnitTorque,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitTorqueConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitTorque,
output_unit: UnitTorque,
value: float,
*,
client: Client,
) -> Optional[Union[UnitTorqueConversion, Error]] :
) -> Optional[Union[UnitTorqueConversion, Error]]:
"""Convert a torque unit value to another torque unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitTorque,
output_unit: UnitTorque,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitTorqueConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitTorque,
output_unit: UnitTorque,
value: float,
*,
client: Client,
) -> Optional[Union[UnitTorqueConversion, Error]] :
) -> Optional[Union[UnitTorqueConversion, Error]]:
"""Convert a torque unit value to another torque unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -10,35 +10,17 @@ from ...types import Response
def _get_kwargs(
input_unit: UnitVolume,
output_unit: UnitVolume,
value: float,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/unit/conversion/volume/{input_unit}/{output_unit}".format(client.base_url, input_unit=input_unit,output_unit=output_unit,) # noqa: E501
url = "{}/unit/conversion/volume/{input_unit}/{output_unit}".format(
client.base_url,
input_unit=input_unit,
output_unit=output_unit,
) # noqa: E501
if value is not None:
if "?" in url:
@ -46,9 +28,6 @@ def _get_kwargs(
else:
url = url + "?value=" + str(value)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -57,11 +36,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitVolumeConversion, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UnitVolumeConversion, Error]]:
if response.status_code == 200:
response_200 = UnitVolumeConversion.from_dict(response.json())
return response_200
@ -74,7 +54,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UnitVolumeCon
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UnitVolumeConversion, Error]]]:
@ -87,37 +66,16 @@ def _build_response(
def sync_detailed(
input_unit: UnitVolume,
output_unit: UnitVolume,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitVolumeConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -130,75 +88,33 @@ def sync_detailed(
def sync(
input_unit: UnitVolume,
output_unit: UnitVolume,
value: float,
*,
client: Client,
) -> Optional[Union[UnitVolumeConversion, Error]] :
) -> Optional[Union[UnitVolumeConversion, Error]]:
"""Convert a volume unit value to another volume unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return sync_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
).parsed
async def asyncio_detailed(
input_unit: UnitVolume,
output_unit: UnitVolume,
value: float,
*,
client: Client,
) -> Response[Optional[Union[UnitVolumeConversion, Error]]]:
kwargs = _get_kwargs(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
@ -209,40 +125,19 @@ async def asyncio_detailed(
async def asyncio(
input_unit: UnitVolume,
output_unit: UnitVolume,
value: float,
*,
client: Client,
) -> Optional[Union[UnitVolumeConversion, Error]] :
) -> Optional[Union[UnitVolumeConversion, Error]]:
"""Convert a volume unit value to another volume unit value. This is a nice endpoint to use for helper functions.""" # noqa: E501
return (
await asyncio_detailed(
input_unit=input_unit,
output_unit=output_unit,
value=value,
client=client,
)
).parsed

View File

@ -8,14 +8,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user".format(client.base_url, ) # noqa: E501
url = "{}/user".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -25,11 +23,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Error] :
def _parse_response(*, response: httpx.Response) -> Optional[Error]:
return None
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
@ -40,10 +37,7 @@ def _parse_response(*, response: httpx.Response) -> Optional[Error] :
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Error]]:
def _build_response(*, response: httpx.Response) -> Response[Optional[Error]]:
return Response(
status_code=response.status_code,
content=response.content,
@ -53,13 +47,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
client=client,
)
@ -72,28 +63,23 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This endpoint requires authentication by any KittyCAD user. It deletes the authenticated user from KittyCAD's database.
This call will only succeed if all invoices associated with the user have been paid in full and there is no outstanding balance.""" # noqa: E501
This call will only succeed if all invoices associated with the user have been paid in full and there is no outstanding balance.
""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Error]]:
kwargs = _get_kwargs(
client=client,
)
@ -104,17 +90,15 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Error] :
) -> Optional[Error]:
"""This endpoint requires authentication by any KittyCAD user. It deletes the authenticated user from KittyCAD's database.
This call will only succeed if all invoices associated with the user have been paid in full and there is no outstanding balance.""" # noqa: E501
This call will only succeed if all invoices associated with the user have been paid in full and there is no outstanding balance.
""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -9,22 +9,14 @@ from ...types import Response
def _get_kwargs(
token: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/session/{token}".format(client.base_url, token=token,) # noqa: E501
url = "{}/user/session/{token}".format(
client.base_url,
token=token,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -34,11 +26,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[Session, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[Session, Error]]:
if response.status_code == 200:
response_200 = Session.from_dict(response.json())
return response_200
@ -51,7 +42,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[Session, Erro
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[Session, Error]]]:
@ -64,21 +54,12 @@ def _build_response(
def sync_detailed(
token: str,
*,
client: Client,
) -> Response[Optional[Union[Session, Error]]]:
kwargs = _get_kwargs(
token=token,
client=client,
)
@ -91,43 +72,25 @@ def sync_detailed(
def sync(
token: str,
*,
client: Client,
) -> Optional[Union[Session, Error]] :
) -> Optional[Union[Session, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns details of the requested API token for the user.""" # noqa: E501
return sync_detailed(
token=token,
client=client,
).parsed
async def asyncio_detailed(
token: str,
*,
client: Client,
) -> Response[Optional[Union[Session, Error]]]:
kwargs = _get_kwargs(
token=token,
client=client,
)
@ -138,24 +101,15 @@ async def asyncio_detailed(
async def asyncio(
token: str,
*,
client: Client,
) -> Optional[Union[Session, Error]] :
) -> Optional[Union[Session, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It returns details of the requested API token for the user.""" # noqa: E501
return (
await asyncio_detailed(
token=token,
client=client,
)
).parsed

View File

@ -9,22 +9,14 @@ from ...types import Response
def _get_kwargs(
id: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/users/{id}".format(client.base_url, id=id,) # noqa: E501
url = "{}/users/{id}".format(
client.base_url,
id=id,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -34,11 +26,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[User, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[User, Error]]:
if response.status_code == 200:
response_200 = User.from_dict(response.json())
return response_200
@ -51,7 +42,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[User, Error]]
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[User, Error]]]:
@ -64,21 +54,12 @@ def _build_response(
def sync_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[User, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -91,45 +72,27 @@ def sync_detailed(
def sync(
id: str,
*,
client: Client,
) -> Optional[Union[User, Error]] :
) -> Optional[Union[User, Error]]:
"""To get information about yourself, use `/users/me` as the endpoint. By doing so you will get the user information for the authenticated user.
Alternatively, to get information about the authenticated user, use `/user` endpoint.
To get information about any KittyCAD user, you must be a KittyCAD employee.""" # noqa: E501
Alternatively, to get information about the authenticated user, use `/user` endpoint.
To get information about any KittyCAD user, you must be a KittyCAD employee.""" # noqa: E501
return sync_detailed(
id=id,
client=client,
).parsed
async def asyncio_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[User, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -140,26 +103,17 @@ async def asyncio_detailed(
async def asyncio(
id: str,
*,
client: Client,
) -> Optional[Union[User, Error]] :
) -> Optional[Union[User, Error]]:
"""To get information about yourself, use `/users/me` as the endpoint. By doing so you will get the user information for the authenticated user.
Alternatively, to get information about the authenticated user, use `/user` endpoint.
To get information about any KittyCAD user, you must be a KittyCAD employee.""" # noqa: E501
Alternatively, to get information about the authenticated user, use `/user` endpoint.
To get information about any KittyCAD user, you must be a KittyCAD employee.""" # noqa: E501
return (
await asyncio_detailed(
id=id,
client=client,
)
).parsed

View File

@ -9,22 +9,14 @@ from ...types import Response
def _get_kwargs(
id: str,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/users-extended/{id}".format(client.base_url, id=id,) # noqa: E501
url = "{}/users-extended/{id}".format(
client.base_url,
id=id,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -34,11 +26,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ExtendedUser, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[ExtendedUser, Error]]:
if response.status_code == 200:
response_200 = ExtendedUser.from_dict(response.json())
return response_200
@ -51,7 +44,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ExtendedUser,
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ExtendedUser, Error]]]:
@ -64,21 +56,12 @@ def _build_response(
def sync_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[ExtendedUser, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -91,45 +74,27 @@ def sync_detailed(
def sync(
id: str,
*,
client: Client,
) -> Optional[Union[ExtendedUser, Error]] :
) -> Optional[Union[ExtendedUser, Error]]:
"""To get information about yourself, use `/users-extended/me` as the endpoint. By doing so you will get the user information for the authenticated user.
Alternatively, to get information about the authenticated user, use `/user/extended` endpoint.
To get information about any KittyCAD user, you must be a KittyCAD employee.""" # noqa: E501
Alternatively, to get information about the authenticated user, use `/user/extended` endpoint.
To get information about any KittyCAD user, you must be a KittyCAD employee.""" # noqa: E501
return sync_detailed(
id=id,
client=client,
).parsed
async def asyncio_detailed(
id: str,
*,
client: Client,
) -> Response[Optional[Union[ExtendedUser, Error]]]:
kwargs = _get_kwargs(
id=id,
client=client,
)
@ -140,26 +105,17 @@ async def asyncio_detailed(
async def asyncio(
id: str,
*,
client: Client,
) -> Optional[Union[ExtendedUser, Error]] :
) -> Optional[Union[ExtendedUser, Error]]:
"""To get information about yourself, use `/users-extended/me` as the endpoint. By doing so you will get the user information for the authenticated user.
Alternatively, to get information about the authenticated user, use `/user/extended` endpoint.
To get information about any KittyCAD user, you must be a KittyCAD employee.""" # noqa: E501
Alternatively, to get information about the authenticated user, use `/user/extended` endpoint.
To get information about any KittyCAD user, you must be a KittyCAD employee.""" # noqa: E501
return (
await asyncio_detailed(
id=id,
client=client,
)
).parsed

View File

@ -8,14 +8,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/front-hash".format(client.base_url, ) # noqa: E501
url = "{}/user/front-hash".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -25,11 +23,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[str, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[str, Error]]:
if response.status_code == 200:
response_200 = response.text
return response_200
@ -42,7 +39,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[str, Error]]
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[str, Error]]]:
@ -55,13 +51,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[str, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -74,27 +67,21 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[str, Error]] :
) -> Optional[Union[str, Error]]:
"""This info is sent to front when initialing the front chat, it prevents impersonations using js hacks in the browser""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[str, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -105,16 +92,13 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[str, Error]] :
) -> Optional[Union[str, Error]]:
"""This info is sent to front when initialing the front chat, it prevents impersonations using js hacks in the browser""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/onboarding".format(client.base_url, ) # noqa: E501
url = "{}/user/onboarding".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[Onboarding, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[Onboarding, Error]]:
if response.status_code == 200:
response_200 = Onboarding.from_dict(response.json())
return response_200
@ -43,7 +40,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[Onboarding, E
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[Onboarding, Error]]]:
@ -56,13 +52,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[Onboarding, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,27 +68,21 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[Onboarding, Error]] :
) -> Optional[Union[Onboarding, Error]]:
"""Checks key part of their api usage to determine their onboarding progress""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[Onboarding, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -106,16 +93,13 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[Onboarding, Error]] :
) -> Optional[Union[Onboarding, Error]]:
"""Checks key part of their api usage to determine their onboarding progress""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user".format(client.base_url, ) # noqa: E501
url = "{}/user".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,10 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[User, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[User, Error]]:
if response.status_code == 200:
response_200 = User.from_dict(response.json())
return response_200
@ -43,7 +40,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[User, Error]]
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[User, Error]]]:
@ -56,13 +52,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[User, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,28 +68,22 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[User, Error]] :
) -> Optional[Union[User, Error]]:
"""Get the user information for the authenticated user.
Alternatively, you can also use the `/users/me` endpoint.""" # noqa: E501
Alternatively, you can also use the `/users/me` endpoint.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[User, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -107,17 +94,14 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[User, Error]] :
) -> Optional[Union[User, Error]]:
"""Get the user information for the authenticated user.
Alternatively, you can also use the `/users/me` endpoint.""" # noqa: E501
Alternatively, you can also use the `/users/me` endpoint.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -9,14 +9,12 @@ from ...types import Response
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user/extended".format(client.base_url, ) # noqa: E501
url = "{}/user/extended".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -26,11 +24,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ExtendedUser, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[ExtendedUser, Error]]:
if response.status_code == 200:
response_200 = ExtendedUser.from_dict(response.json())
return response_200
@ -43,7 +42,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ExtendedUser,
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ExtendedUser, Error]]]:
@ -56,13 +54,10 @@ def _build_response(
def sync_detailed(
*,
client: Client,
) -> Response[Optional[Union[ExtendedUser, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -75,28 +70,22 @@ def sync_detailed(
def sync(
*,
client: Client,
) -> Optional[Union[ExtendedUser, Error]] :
) -> Optional[Union[ExtendedUser, Error]]:
"""Get the user information for the authenticated user.
Alternatively, you can also use the `/users-extended/me` endpoint.""" # noqa: E501
Alternatively, you can also use the `/users-extended/me` endpoint.""" # noqa: E501
return sync_detailed(
client=client,
).parsed
async def asyncio_detailed(
*,
client: Client,
) -> Response[Optional[Union[ExtendedUser, Error]]]:
kwargs = _get_kwargs(
client=client,
)
@ -107,17 +96,14 @@ async def asyncio_detailed(
async def asyncio(
*,
client: Client,
) -> Optional[Union[ExtendedUser, Error]] :
) -> Optional[Union[ExtendedUser, Error]]:
"""Get the user information for the authenticated user.
Alternatively, you can also use the `/users-extended/me` endpoint.""" # noqa: E501
Alternatively, you can also use the `/users-extended/me` endpoint.""" # noqa: E501
return (
await asyncio_detailed(
client=client,
)
).parsed

View File

@ -10,31 +10,15 @@ from ...types import Response
def _get_kwargs(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/users".format(client.base_url, ) # noqa: E501
url = "{}/users".format(
client.base_url,
) # noqa: E501
if limit is not None:
if "?" in url:
@ -42,25 +26,18 @@ def _get_kwargs(
else:
url = url + "?limit=" + str(limit)
if page_token is not None:
if "?" in url:
url = url + "&page_token=" + str(page_token)
else:
url = url + "?page_token=" + str(page_token)
if sort_by is not None:
if "?" in url:
url = url + "&sort_by=" + str(sort_by)
else:
url = url + "?sort_by=" + str(sort_by)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -69,11 +46,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[UserResultsPage, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[UserResultsPage, Error]]:
if response.status_code == 200:
response_200 = UserResultsPage.from_dict(response.json())
return response_200
@ -86,7 +64,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[UserResultsPa
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[UserResultsPage, Error]]]:
@ -99,37 +76,16 @@ def _build_response(
def sync_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[UserResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -142,75 +98,33 @@ def sync_detailed(
def sync(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[UserResultsPage, Error]] :
) -> Optional[Union[UserResultsPage, Error]]:
"""This endpoint required authentication by a KittyCAD employee. The users are returned in order of creation, with the most recently created users first.""" # noqa: E501
return sync_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
).parsed
async def asyncio_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[UserResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -221,40 +135,19 @@ async def asyncio_detailed(
async def asyncio(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[UserResultsPage, Error]] :
) -> Optional[Union[UserResultsPage, Error]]:
"""This endpoint required authentication by a KittyCAD employee. The users are returned in order of creation, with the most recently created users first.""" # noqa: E501
return (
await asyncio_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
).parsed

View File

@ -10,31 +10,15 @@ from ...types import Response
def _get_kwargs(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/users-extended".format(client.base_url, ) # noqa: E501
url = "{}/users-extended".format(
client.base_url,
) # noqa: E501
if limit is not None:
if "?" in url:
@ -42,25 +26,18 @@ def _get_kwargs(
else:
url = url + "?limit=" + str(limit)
if page_token is not None:
if "?" in url:
url = url + "&page_token=" + str(page_token)
else:
url = url + "?page_token=" + str(page_token)
if sort_by is not None:
if "?" in url:
url = url + "&sort_by=" + str(sort_by)
else:
url = url + "?sort_by=" + str(sort_by)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -69,11 +46,12 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[ExtendedUserResultsPage, Error]] :
def _parse_response(
*, response: httpx.Response
) -> Optional[Union[ExtendedUserResultsPage, Error]]:
if response.status_code == 200:
response_200 = ExtendedUserResultsPage.from_dict(response.json())
return response_200
@ -86,7 +64,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[ExtendedUserR
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[ExtendedUserResultsPage, Error]]]:
@ -99,37 +76,16 @@ def _build_response(
def sync_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[ExtendedUserResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -142,75 +98,33 @@ def sync_detailed(
def sync(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[ExtendedUserResultsPage, Error]] :
) -> Optional[Union[ExtendedUserResultsPage, Error]]:
"""This endpoint required authentication by a KittyCAD employee. The users are returned in order of creation, with the most recently created users first.""" # noqa: E501
return sync_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
).parsed
async def asyncio_detailed(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Response[Optional[Union[ExtendedUserResultsPage, Error]]]:
kwargs = _get_kwargs(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
@ -221,40 +135,19 @@ async def asyncio_detailed(
async def asyncio(
sort_by: CreatedAtSortMode,
*,
client: Client,
limit: Optional[int] = None,
page_token: Optional[str] = None,
) -> Optional[Union[ExtendedUserResultsPage, Error]] :
) -> Optional[Union[ExtendedUserResultsPage, Error]]:
"""This endpoint required authentication by a KittyCAD employee. The users are returned in order of creation, with the most recently created users first.""" # noqa: E501
return (
await asyncio_detailed(
limit=limit,
page_token=page_token,
sort_by=sort_by,
client=client,
)
).parsed

View File

@ -10,22 +10,13 @@ from ...types import Response
def _get_kwargs(
body: UpdateUser,
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/user".format(client.base_url, ) # noqa: E501
url = "{}/user".format(
client.base_url,
) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -39,7 +30,7 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[User, Error]] :
def _parse_response(*, response: httpx.Response) -> Optional[Union[User, Error]]:
if response.status_code == 200:
response_200 = User.from_dict(response.json())
return response_200
@ -52,7 +43,6 @@ def _parse_response(*, response: httpx.Response) -> Optional[Union[User, Error]]
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[User, Error]]]:
@ -65,21 +55,12 @@ def _build_response(
def sync_detailed(
body: UpdateUser,
*,
client: Client,
) -> Response[Optional[Union[User, Error]]]:
kwargs = _get_kwargs(
body=body,
client=client,
)
@ -92,43 +73,25 @@ def sync_detailed(
def sync(
body: UpdateUser,
*,
client: Client,
) -> Optional[Union[User, Error]] :
) -> Optional[Union[User, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It updates information about the authenticated user.""" # noqa: E501
return sync_detailed(
body=body,
client=client,
).parsed
async def asyncio_detailed(
body: UpdateUser,
*,
client: Client,
) -> Response[Optional[Union[User, Error]]]:
kwargs = _get_kwargs(
body=body,
client=client,
)
@ -139,24 +102,15 @@ async def asyncio_detailed(
async def asyncio(
body: UpdateUser,
*,
client: Client,
) -> Optional[Union[User, Error]] :
) -> Optional[Union[User, Error]]:
"""This endpoint requires authentication by any KittyCAD user. It updates information about the authenticated user.""" # noqa: E501
return (
await asyncio_detailed(
body=body,
client=client,
)
).parsed

View File

@ -38,6 +38,10 @@ class Client:
"""Get a new client matching this one with a new timeout (in seconds)"""
return attr.evolve(self, timeout=timeout)
def with_base_url(self, url: str) -> "Client":
"""Get a new client matching this one with a new base url"""
return attr.evolve(self, base_url=url)
@attr.s(auto_attribs=True)
class ClientFromEnv(Client):

View File

@ -1,4 +1,6 @@
import json
import os
import uuid
from typing import Dict, Optional, Union
import pytest
@ -6,6 +8,7 @@ import pytest
from .api.api_tokens import list_api_tokens_for_user
from .api.file import create_file_conversion, create_file_mass, create_file_volume
from .api.meta import ping
from .api.modeling import modeling_commands_ws
from .api.users import get_user_self, list_users_extended
from .client import ClientFromEnv
from .models import (
@ -20,12 +23,17 @@ from .models import (
FileImportFormat,
FileMass,
FileVolume,
ModelingCmd,
ModelingCmdId,
Pong,
UnitDensity,
UnitMass,
UnitVolume,
User,
WebSocketRequest,
)
from .models.modeling_cmd import start_path
from .models.web_socket_request import modeling_cmd_req
from .types import Unset
@ -283,3 +291,30 @@ def test_list_users():
assert isinstance(response, ExtendedUserResultsPage)
print(f"ExtendedUserResultsPage: {response}")
def test_ws():
# Create our client.
client = ClientFromEnv()
# Connect to the websocket.
with modeling_commands_ws.WebSocket(
client=client,
fps=30,
unlocked_framerate=False,
video_res_height=360,
video_res_width=480,
webrtc=False,
) as websocket:
# Send a message.
id = uuid.uuid4()
req = WebSocketRequest(
modeling_cmd_req(cmd=ModelingCmd(start_path()), cmd_id=ModelingCmdId(id))
)
json.dumps(req.to_dict())
websocket.send(req)
# Get the messages.
while True:
websocket.recv()
break

View File

@ -2,7 +2,14 @@ from typing import List, Optional, Union
import pytest
from kittycad.api.ai import create_image_to_3d, create_text_to_3d
from kittycad.api.ai import (
create_text_to_cad,
create_text_to_cad_model_feedback,
get_ai_prompt,
get_text_to_cad_model_for_user,
list_ai_prompts,
list_text_to_cad_models_for_user,
)
from kittycad.api.api_calls import (
get_api_call,
get_api_call_for_user,
@ -39,6 +46,7 @@ from kittycad.api.meta import (
get_metadata,
get_openai_schema,
get_schema,
internal_get_api_token_for_discord_user,
ping,
)
from kittycad.api.modeling import modeling_commands_ws
@ -85,6 +93,8 @@ from kittycad.api.users import (
from kittycad.client import ClientFromEnv
from kittycad.models import (
AiPluginManifest,
AiPrompt,
AiPromptResultsPage,
ApiCallQueryGroup,
ApiCallWithPrice,
ApiCallWithPriceResultsPage,
@ -105,13 +115,14 @@ from kittycad.models import (
FileSurfaceArea,
FileVolume,
Invoice,
Mesh,
Metadata,
Onboarding,
PaymentIntent,
PaymentMethod,
Pong,
Session,
TextToCad,
TextToCadResultsPage,
UnitAngleConversion,
UnitAreaConversion,
UnitCurrentConversion,
@ -129,6 +140,7 @@ from kittycad.models import (
UserResultsPage,
VerificationToken,
)
from kittycad.models.ai_feedback import AiFeedback
from kittycad.models.api_call_query_group_by import ApiCallQueryGroupBy
from kittycad.models.api_call_status import ApiCallStatus
from kittycad.models.billing_info import BillingInfo
@ -137,7 +149,7 @@ from kittycad.models.created_at_sort_mode import CreatedAtSortMode
from kittycad.models.email_authentication_form import EmailAuthenticationForm
from kittycad.models.file_export_format import FileExportFormat
from kittycad.models.file_import_format import FileImportFormat
from kittycad.models.image_type import ImageType
from kittycad.models.text_to_cad_create_body import TextToCadCreateBody
from kittycad.models.unit_angle import UnitAngle
from kittycad.models.unit_area import UnitArea
from kittycad.models.unit_current import UnitCurrent
@ -275,104 +287,161 @@ async def test_get_metadata_async():
@pytest.mark.skip
def test_create_image_to_3d():
def test_list_ai_prompts():
# Create our client.
client = ClientFromEnv()
result: Optional[Union[Mesh, Error]] = create_image_to_3d.sync(
result: Optional[Union[AiPromptResultsPage, Error]] = list_ai_prompts.sync(
client=client,
input_format=ImageType.PNG,
output_format=FileExportFormat.FBX,
body=bytes("some bytes", "utf-8"),
sort_by=CreatedAtSortMode.CREATED_AT_ASCENDING,
limit=None, # Optional[int]
page_token=None, # Optional[str]
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: Mesh = result
body: AiPromptResultsPage = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[Optional[Union[Mesh, Error]]] = create_image_to_3d.sync_detailed(
response: Response[
Optional[Union[AiPromptResultsPage, Error]]
] = list_ai_prompts.sync_detailed(
client=client,
input_format=ImageType.PNG,
output_format=FileExportFormat.FBX,
body=bytes("some bytes", "utf-8"),
sort_by=CreatedAtSortMode.CREATED_AT_ASCENDING,
limit=None, # Optional[int]
page_token=None, # Optional[str]
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_create_image_to_3d_async():
async def test_list_ai_prompts_async():
# Create our client.
client = ClientFromEnv()
result: Optional[Union[Mesh, Error]] = await create_image_to_3d.asyncio(
result: Optional[Union[AiPromptResultsPage, Error]] = await list_ai_prompts.asyncio(
client=client,
input_format=ImageType.PNG,
output_format=FileExportFormat.FBX,
body=bytes("some bytes", "utf-8"),
sort_by=CreatedAtSortMode.CREATED_AT_ASCENDING,
limit=None, # Optional[int]
page_token=None, # Optional[str]
)
# OR run async with more info
response: Response[
Optional[Union[Mesh, Error]]
] = await create_image_to_3d.asyncio_detailed(
Optional[Union[AiPromptResultsPage, Error]]
] = await list_ai_prompts.asyncio_detailed(
client=client,
input_format=ImageType.PNG,
output_format=FileExportFormat.FBX,
body=bytes("some bytes", "utf-8"),
sort_by=CreatedAtSortMode.CREATED_AT_ASCENDING,
limit=None, # Optional[int]
page_token=None, # Optional[str]
)
@pytest.mark.skip
def test_create_text_to_3d():
def test_get_ai_prompt():
# Create our client.
client = ClientFromEnv()
result: Optional[Union[Mesh, Error]] = create_text_to_3d.sync(
result: Optional[Union[AiPrompt, Error]] = get_ai_prompt.sync(
client=client,
output_format=FileExportFormat.FBX,
prompt="<string>",
id="<uuid>",
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: Mesh = result
body: AiPrompt = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[Optional[Union[Mesh, Error]]] = create_text_to_3d.sync_detailed(
response: Response[Optional[Union[AiPrompt, Error]]] = get_ai_prompt.sync_detailed(
client=client,
output_format=FileExportFormat.FBX,
prompt="<string>",
id="<uuid>",
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_create_text_to_3d_async():
async def test_get_ai_prompt_async():
# Create our client.
client = ClientFromEnv()
result: Optional[Union[Mesh, Error]] = await create_text_to_3d.asyncio(
result: Optional[Union[AiPrompt, Error]] = await get_ai_prompt.asyncio(
client=client,
output_format=FileExportFormat.FBX,
prompt="<string>",
id="<uuid>",
)
# OR run async with more info
response: Response[
Optional[Union[Mesh, Error]]
] = await create_text_to_3d.asyncio_detailed(
Optional[Union[AiPrompt, Error]]
] = await get_ai_prompt.asyncio_detailed(
client=client,
id="<uuid>",
)
@pytest.mark.skip
def test_create_text_to_cad():
# Create our client.
client = ClientFromEnv()
result: Optional[Union[TextToCad, Error]] = create_text_to_cad.sync(
client=client,
output_format=FileExportFormat.FBX,
body=TextToCadCreateBody(
prompt="<string>",
),
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: TextToCad = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[
Optional[Union[TextToCad, Error]]
] = create_text_to_cad.sync_detailed(
client=client,
output_format=FileExportFormat.FBX,
body=TextToCadCreateBody(
prompt="<string>",
),
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_create_text_to_cad_async():
# Create our client.
client = ClientFromEnv()
result: Optional[Union[TextToCad, Error]] = await create_text_to_cad.asyncio(
client=client,
output_format=FileExportFormat.FBX,
body=TextToCadCreateBody(
prompt="<string>",
),
)
# OR run async with more info
response: Response[
Optional[Union[TextToCad, Error]]
] = await create_text_to_cad.asyncio_detailed(
client=client,
output_format=FileExportFormat.FBX,
body=TextToCadCreateBody(
prompt="<string>",
),
)
@ -730,6 +799,7 @@ def test_get_async_operation():
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
Error,
]
] = get_async_operation.sync(
@ -748,6 +818,7 @@ def test_get_async_operation():
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
] = result
print(body)
@ -761,6 +832,7 @@ def test_get_async_operation():
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
Error,
]
]
@ -785,6 +857,7 @@ async def test_get_async_operation_async():
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
Error,
]
] = await get_async_operation.asyncio(
@ -802,6 +875,7 @@ async def test_get_async_operation_async():
FileVolume,
FileDensity,
FileSurfaceArea,
TextToCad,
Error,
]
]
@ -1324,6 +1398,57 @@ async def test_create_file_volume_async():
)
@pytest.mark.skip
def test_internal_get_api_token_for_discord_user():
# Create our client.
client = ClientFromEnv()
result: Optional[
Union[ApiToken, Error]
] = internal_get_api_token_for_discord_user.sync(
client=client,
discord_id="<string>",
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: ApiToken = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[
Optional[Union[ApiToken, Error]]
] = internal_get_api_token_for_discord_user.sync_detailed(
client=client,
discord_id="<string>",
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_internal_get_api_token_for_discord_user_async():
# Create our client.
client = ClientFromEnv()
result: Optional[
Union[ApiToken, Error]
] = await internal_get_api_token_for_discord_user.asyncio(
client=client,
discord_id="<string>",
)
# OR run async with more info
response: Response[
Optional[Union[ApiToken, Error]]
] = await internal_get_api_token_for_discord_user.asyncio_detailed(
client=client,
discord_id="<string>",
)
@pytest.mark.skip
def test_logout():
# Create our client.
@ -2197,45 +2322,6 @@ async def test_get_volume_unit_conversion_async():
)
@pytest.mark.skip
def test_delete_user_self():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = delete_user_self.sync(
client=client,
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: Error = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[Optional[Error]] = delete_user_self.sync_detailed(
client=client,
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_delete_user_self_async():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = await delete_user_self.asyncio(
client=client,
)
# OR run async with more info
response: Response[Optional[Error]] = await delete_user_self.asyncio_detailed(
client=client,
)
@pytest.mark.skip
def test_get_user_self():
# Create our client.
@ -2350,6 +2436,45 @@ async def test_update_user_self_async():
)
@pytest.mark.skip
def test_delete_user_self():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = delete_user_self.sync(
client=client,
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: Error = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[Optional[Error]] = delete_user_self.sync_detailed(
client=client,
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_delete_user_self_async():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = await delete_user_self.asyncio(
client=client,
)
# OR run async with more info
response: Response[Optional[Error]] = await delete_user_self.asyncio_detailed(
client=client,
)
@pytest.mark.skip
def test_user_list_api_calls():
# Create our client.
@ -2558,51 +2683,6 @@ async def test_create_api_token_for_user_async():
)
@pytest.mark.skip
def test_delete_api_token_for_user():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = delete_api_token_for_user.sync(
client=client,
token="<uuid>",
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: Error = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[Optional[Error]] = delete_api_token_for_user.sync_detailed(
client=client,
token="<uuid>",
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_delete_api_token_for_user_async():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = await delete_api_token_for_user.asyncio(
client=client,
token="<uuid>",
)
# OR run async with more info
response: Response[
Optional[Error]
] = await delete_api_token_for_user.asyncio_detailed(
client=client,
token="<uuid>",
)
@pytest.mark.skip
def test_get_api_token_for_user():
# Create our client.
@ -2650,6 +2730,51 @@ async def test_get_api_token_for_user_async():
)
@pytest.mark.skip
def test_delete_api_token_for_user():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = delete_api_token_for_user.sync(
client=client,
token="<uuid>",
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: Error = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[Optional[Error]] = delete_api_token_for_user.sync_detailed(
client=client,
token="<uuid>",
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_delete_api_token_for_user_async():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = await delete_api_token_for_user.asyncio(
client=client,
token="<uuid>",
)
# OR run async with more info
response: Response[
Optional[Error]
] = await delete_api_token_for_user.asyncio_detailed(
client=client,
token="<uuid>",
)
@pytest.mark.skip
def test_get_user_self_extended():
# Create our client.
@ -2768,49 +2893,6 @@ async def test_get_user_onboarding_self_async():
)
@pytest.mark.skip
def test_delete_payment_information_for_user():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = delete_payment_information_for_user.sync(
client=client,
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: Error = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[
Optional[Error]
] = delete_payment_information_for_user.sync_detailed(
client=client,
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_delete_payment_information_for_user_async():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = await delete_payment_information_for_user.asyncio(
client=client,
)
# OR run async with more info
response: Response[
Optional[Error]
] = await delete_payment_information_for_user.asyncio_detailed(
client=client,
)
@pytest.mark.skip
def test_get_payment_information_for_user():
# Create our client.
@ -2856,6 +2938,67 @@ async def test_get_payment_information_for_user_async():
)
@pytest.mark.skip
def test_update_payment_information_for_user():
# Create our client.
client = ClientFromEnv()
result: Optional[Union[Customer, Error]] = update_payment_information_for_user.sync(
client=client,
body=BillingInfo(
name="<string>",
phone="<string>",
),
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: Customer = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[
Optional[Union[Customer, Error]]
] = update_payment_information_for_user.sync_detailed(
client=client,
body=BillingInfo(
name="<string>",
phone="<string>",
),
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_update_payment_information_for_user_async():
# Create our client.
client = ClientFromEnv()
result: Optional[
Union[Customer, Error]
] = await update_payment_information_for_user.asyncio(
client=client,
body=BillingInfo(
name="<string>",
phone="<string>",
),
)
# OR run async with more info
response: Response[
Optional[Union[Customer, Error]]
] = await update_payment_information_for_user.asyncio_detailed(
client=client,
body=BillingInfo(
name="<string>",
phone="<string>",
),
)
@pytest.mark.skip
def test_create_payment_information_for_user():
# Create our client.
@ -2918,63 +3061,45 @@ async def test_create_payment_information_for_user_async():
@pytest.mark.skip
def test_update_payment_information_for_user():
def test_delete_payment_information_for_user():
# Create our client.
client = ClientFromEnv()
result: Optional[Union[Customer, Error]] = update_payment_information_for_user.sync(
result: Optional[Error] = delete_payment_information_for_user.sync(
client=client,
body=BillingInfo(
name="<string>",
phone="<string>",
),
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: Customer = result
body: Error = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[
Optional[Union[Customer, Error]]
] = update_payment_information_for_user.sync_detailed(
Optional[Error]
] = delete_payment_information_for_user.sync_detailed(
client=client,
body=BillingInfo(
name="<string>",
phone="<string>",
),
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_update_payment_information_for_user_async():
async def test_delete_payment_information_for_user_async():
# Create our client.
client = ClientFromEnv()
result: Optional[
Union[Customer, Error]
] = await update_payment_information_for_user.asyncio(
result: Optional[Error] = await delete_payment_information_for_user.asyncio(
client=client,
body=BillingInfo(
name="<string>",
phone="<string>",
),
)
# OR run async with more info
response: Response[
Optional[Union[Customer, Error]]
] = await update_payment_information_for_user.asyncio_detailed(
Optional[Error]
] = await delete_payment_information_for_user.asyncio_detailed(
client=client,
body=BillingInfo(
name="<string>",
phone="<string>",
),
)
@ -3295,6 +3420,165 @@ async def test_get_session_for_user_async():
)
@pytest.mark.skip
def test_list_text_to_cad_models_for_user():
# Create our client.
client = ClientFromEnv()
result: Optional[
Union[TextToCadResultsPage, Error]
] = list_text_to_cad_models_for_user.sync(
client=client,
sort_by=CreatedAtSortMode.CREATED_AT_ASCENDING,
limit=None, # Optional[int]
page_token=None, # Optional[str]
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: TextToCadResultsPage = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[
Optional[Union[TextToCadResultsPage, Error]]
] = list_text_to_cad_models_for_user.sync_detailed(
client=client,
sort_by=CreatedAtSortMode.CREATED_AT_ASCENDING,
limit=None, # Optional[int]
page_token=None, # Optional[str]
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_list_text_to_cad_models_for_user_async():
# Create our client.
client = ClientFromEnv()
result: Optional[
Union[TextToCadResultsPage, Error]
] = await list_text_to_cad_models_for_user.asyncio(
client=client,
sort_by=CreatedAtSortMode.CREATED_AT_ASCENDING,
limit=None, # Optional[int]
page_token=None, # Optional[str]
)
# OR run async with more info
response: Response[
Optional[Union[TextToCadResultsPage, Error]]
] = await list_text_to_cad_models_for_user.asyncio_detailed(
client=client,
sort_by=CreatedAtSortMode.CREATED_AT_ASCENDING,
limit=None, # Optional[int]
page_token=None, # Optional[str]
)
@pytest.mark.skip
def test_get_text_to_cad_model_for_user():
# Create our client.
client = ClientFromEnv()
result: Optional[Union[TextToCad, Error]] = get_text_to_cad_model_for_user.sync(
client=client,
id="<uuid>",
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: TextToCad = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[
Optional[Union[TextToCad, Error]]
] = get_text_to_cad_model_for_user.sync_detailed(
client=client,
id="<uuid>",
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_get_text_to_cad_model_for_user_async():
# Create our client.
client = ClientFromEnv()
result: Optional[
Union[TextToCad, Error]
] = await get_text_to_cad_model_for_user.asyncio(
client=client,
id="<uuid>",
)
# OR run async with more info
response: Response[
Optional[Union[TextToCad, Error]]
] = await get_text_to_cad_model_for_user.asyncio_detailed(
client=client,
id="<uuid>",
)
@pytest.mark.skip
def test_create_text_to_cad_model_feedback():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = create_text_to_cad_model_feedback.sync(
client=client,
id="<uuid>",
feedback=AiFeedback.THUMBS_UP,
)
if isinstance(result, Error) or result is None:
print(result)
raise Exception("Error in response")
body: Error = result
print(body)
# OR if you need more info (e.g. status_code)
response: Response[
Optional[Error]
] = create_text_to_cad_model_feedback.sync_detailed(
client=client,
id="<uuid>",
feedback=AiFeedback.THUMBS_UP,
)
# OR run async
@pytest.mark.asyncio
@pytest.mark.skip
async def test_create_text_to_cad_model_feedback_async():
# Create our client.
client = ClientFromEnv()
result: Optional[Error] = await create_text_to_cad_model_feedback.asyncio(
client=client,
id="<uuid>",
feedback=AiFeedback.THUMBS_UP,
)
# OR run async with more info
response: Response[
Optional[Error]
] = await create_text_to_cad_model_feedback.asyncio_detailed(
client=client,
id="<uuid>",
feedback=AiFeedback.THUMBS_UP,
)
@pytest.mark.skip
def test_list_users():
# Create our client.

View File

@ -1,12 +1,16 @@
""" Contains all the data models used in inputs/outputs """
from .account_provider import AccountProvider
from .ai_feedback import AiFeedback
from .ai_plugin_api import AiPluginApi
from .ai_plugin_api_type import AiPluginApiType
from .ai_plugin_auth import AiPluginAuth
from .ai_plugin_auth_type import AiPluginAuthType
from .ai_plugin_http_auth_type import AiPluginHttpAuthType
from .ai_plugin_manifest import AiPluginManifest
from .ai_prompt import AiPrompt
from .ai_prompt_results_page import AiPromptResultsPage
from .ai_prompt_type import AiPromptType
from .angle import Angle
from .annotation_line_end import AnnotationLineEnd
from .annotation_line_end_options import AnnotationLineEndOptions
@ -85,12 +89,12 @@ from .file_system_metadata import FileSystemMetadata
from .file_volume import FileVolume
from .gateway import Gateway
from .get_entity_type import GetEntityType
from .get_sketch_mode_plane import GetSketchModePlane
from .gltf_presentation import GltfPresentation
from .gltf_storage import GltfStorage
from .highlight_set_entity import HighlightSetEntity
from .ice_server import IceServer
from .image_format import ImageFormat
from .image_type import ImageType
from .import_file import ImportFile
from .import_files import ImportFiles
from .input_format import InputFormat
@ -103,12 +107,12 @@ from .jetstream_config import JetstreamConfig
from .jetstream_stats import JetstreamStats
from .leaf_node import LeafNode
from .mass import Mass
from .mesh import Mesh
from .meta_cluster_info import MetaClusterInfo
from .metadata import Metadata
from .method import Method
from .modeling_cmd import ModelingCmd
from .modeling_cmd_id import ModelingCmdId
from .modeling_cmd_req import ModelingCmdReq
from .mouse_click import MouseClick
from .new_address import NewAddress
from .o_auth2_client_info import OAuth2ClientInfo
@ -119,8 +123,11 @@ from .onboarding import Onboarding
from .output_file import OutputFile
from .output_format import OutputFormat
from .path_command import PathCommand
from .path_component_constraint_bound import PathComponentConstraintBound
from .path_component_constraint_type import PathComponentConstraintType
from .path_get_curve_uuids_for_vertices import PathGetCurveUuidsForVertices
from .path_get_info import PathGetInfo
from .path_get_vertex_uuids import PathGetVertexUuids
from .path_segment import PathSegment
from .path_segment_info import PathSegmentInfo
from .payment_intent import PaymentIntent
@ -131,7 +138,6 @@ from .plane_intersect_and_project import PlaneIntersectAndProject
from .ply_storage import PlyStorage
from .point2d import Point2d
from .point3d import Point3d
from .point_e_metadata import PointEMetadata
from .pong import Pong
from .raw_file import RawFile
from .rtc_ice_candidate_init import RtcIceCandidateInit
@ -141,6 +147,7 @@ from .scene_selection_type import SceneSelectionType
from .scene_tool_type import SceneToolType
from .select_get import SelectGet
from .select_with_point import SelectWithPoint
from .selection import Selection
from .session import Session
from .solid3d_get_all_edge_faces import Solid3dGetAllEdgeFaces
from .solid3d_get_all_opposite_edges import Solid3dGetAllOppositeEdges
@ -152,6 +159,9 @@ from .success_web_socket_response import SuccessWebSocketResponse
from .surface_area import SurfaceArea
from .system import System
from .take_snapshot import TakeSnapshot
from .text_to_cad import TextToCad
from .text_to_cad_create_body import TextToCadCreateBody
from .text_to_cad_results_page import TextToCadResultsPage
from .unit_angle import UnitAngle
from .unit_angle_conversion import UnitAngleConversion
from .unit_area import UnitArea
@ -183,6 +193,7 @@ from .update_user import UpdateUser
from .user import User
from .user_results_page import UserResultsPage
from .uuid import Uuid
from .uuid_binary import UuidBinary
from .verification_token import VerificationToken
from .volume import Volume
from .web_socket_request import WebSocketRequest

View File

@ -2,11 +2,14 @@ from enum import Enum
class AccountProvider(str, Enum):
""" An account provider. """ # noqa: E501
"""An account provider.""" # noqa: E501
"""# The Discord account provider. """ # noqa: E501
DISCORD = "discord"
"""# The Google account provider. """ # noqa: E501
GOOGLE = 'google'
GOOGLE = "google"
"""# The GitHub account provider. """ # noqa: E501
GITHUB = 'github'
GITHUB = "github"
def __str__(self) -> str:
return str(self.value)

View File

@ -0,0 +1,13 @@
from enum import Enum
class AiFeedback(str, Enum):
"""Human feedback on an AI response.""" # noqa: E501
"""# Thumbs up. """ # noqa: E501
THUMBS_UP = "thumbs_up"
"""# Thumbs down. """ # noqa: E501
THUMBS_DOWN = "thumbs_down"
def __str__(self) -> str:
return str(self.value)

View File

@ -7,9 +7,11 @@ from ..types import UNSET, Unset
SB = TypeVar("SB", bound="AiPluginApi")
@attr.s(auto_attribs=True)
class AiPluginApi:
""" AI plugin api information. """ # noqa: E501
"""AI plugin api information.""" # noqa: E501
is_user_authenticated: Union[Unset, bool] = False
type: Union[Unset, AiPluginApiType] = UNSET
url: Union[Unset, str] = UNSET
@ -26,11 +28,11 @@ class AiPluginApi:
field_dict.update(self.additional_properties)
field_dict.update({})
if is_user_authenticated is not UNSET:
field_dict['is_user_authenticated'] = is_user_authenticated
field_dict["is_user_authenticated"] = is_user_authenticated
if type is not UNSET:
field_dict['type'] = type
field_dict["type"] = type
if url is not UNSET:
field_dict['url'] = url
field_dict["url"] = url
return field_dict
@ -43,16 +45,17 @@ class AiPluginApi:
type: Union[Unset, AiPluginApiType]
if isinstance(_type, Unset):
type = UNSET
if _type is None:
type = UNSET
else:
type = _type # type: ignore[arg-type]
type = _type
url = d.pop("url", UNSET)
ai_plugin_api = cls(
is_user_authenticated= is_user_authenticated,
type= type,
url= url,
is_user_authenticated=is_user_authenticated,
type=type,
url=url,
)
ai_plugin_api.additional_properties = d

View File

@ -2,9 +2,10 @@ from enum import Enum
class AiPluginApiType(str, Enum):
""" AI plugin api type. """ # noqa: E501
"""AI plugin api type.""" # noqa: E501
"""# An OpenAPI specification. """ # noqa: E501
OPENAPI = 'openapi'
OPENAPI = "openapi"
def __str__(self) -> str:
return str(self.value)

View File

@ -8,9 +8,11 @@ from ..types import UNSET, Unset
NP = TypeVar("NP", bound="AiPluginAuth")
@attr.s(auto_attribs=True)
class AiPluginAuth:
""" AI plugin auth information. """ # noqa: E501
"""AI plugin auth information.""" # noqa: E501
authorization_type: Union[Unset, AiPluginHttpAuthType] = UNSET
type: Union[Unset, AiPluginAuthType] = UNSET
@ -26,9 +28,9 @@ class AiPluginAuth:
field_dict.update(self.additional_properties)
field_dict.update({})
if authorization_type is not UNSET:
field_dict['authorization_type'] = authorization_type
field_dict["authorization_type"] = authorization_type
if type is not UNSET:
field_dict['type'] = type
field_dict["type"] = type
return field_dict
@ -39,20 +41,23 @@ class AiPluginAuth:
authorization_type: Union[Unset, AiPluginHttpAuthType]
if isinstance(_authorization_type, Unset):
authorization_type = UNSET
if _authorization_type is None:
authorization_type = UNSET
else:
authorization_type = _authorization_type # type: ignore[arg-type]
authorization_type = _authorization_type
_type = d.pop("type", UNSET)
type: Union[Unset, AiPluginAuthType]
if isinstance(_type, Unset):
type = UNSET
if _type is None:
type = UNSET
else:
type = _type # type: ignore[arg-type]
type = _type
ai_plugin_auth = cls(
authorization_type= authorization_type,
type= type,
authorization_type=authorization_type,
type=type,
)
ai_plugin_auth.additional_properties = d

View File

@ -2,15 +2,16 @@ from enum import Enum
class AiPluginAuthType(str, Enum):
""" AI plugin auth type. """ # noqa: E501
"""AI plugin auth type.""" # noqa: E501
"""# None. """ # noqa: E501
NONE = 'none'
NONE = "none"
"""# User http. """ # noqa: E501
USER_HTTP = 'user_http'
USER_HTTP = "user_http"
"""# Service http. """ # noqa: E501
SERVICE_HTTP = 'service_http'
SERVICE_HTTP = "service_http"
"""# OAuth. """ # noqa: E501
OAUTH = 'oauth'
OAUTH = "oauth"
def __str__(self) -> str:
return str(self.value)

View File

@ -2,11 +2,12 @@ from enum import Enum
class AiPluginHttpAuthType(str, Enum):
""" AI plugin http auth type. """ # noqa: E501
"""AI plugin http auth type.""" # noqa: E501
"""# Basic. """ # noqa: E501
BASIC = 'basic'
BASIC = "basic"
"""# Bearer. """ # noqa: E501
BEARER = 'bearer'
BEARER = "bearer"
def __str__(self) -> str:
return str(self.value)

View File

@ -8,11 +8,14 @@ from ..types import UNSET, Unset
SA = TypeVar("SA", bound="AiPluginManifest")
@attr.s(auto_attribs=True)
class AiPluginManifest:
""" AI plugin manifest.
"""AI plugin manifest.
This is used for OpenAI's ChatGPT plugins. You can read more about them [here](https://platform.openai.com/docs/plugins/getting-started/plugin-manifest).
""" # noqa: E501
This is used for OpenAI's ChatGPT plugins. You can read more about them [here](https://platform.openai.com/docs/plugins/getting-started/plugin-manifest). """ # noqa: E501
api: Union[Unset, AiPluginApi] = UNSET
auth: Union[Unset, AiPluginAuth] = UNSET
contact_email: Union[Unset, str] = UNSET
@ -44,25 +47,25 @@ This is used for OpenAI's ChatGPT plugins. You can read more about them [here](h
field_dict.update(self.additional_properties)
field_dict.update({})
if api is not UNSET:
field_dict['api'] = api
field_dict["api"] = api.to_dict()
if auth is not UNSET:
field_dict['auth'] = auth
field_dict["auth"] = auth.to_dict()
if contact_email is not UNSET:
field_dict['contact_email'] = contact_email
field_dict["contact_email"] = contact_email
if description_for_human is not UNSET:
field_dict['description_for_human'] = description_for_human
field_dict["description_for_human"] = description_for_human
if description_for_model is not UNSET:
field_dict['description_for_model'] = description_for_model
field_dict["description_for_model"] = description_for_model
if legal_info_url is not UNSET:
field_dict['legal_info_url'] = legal_info_url
field_dict["legal_info_url"] = legal_info_url
if logo_url is not UNSET:
field_dict['logo_url'] = logo_url
field_dict["logo_url"] = logo_url
if name_for_human is not UNSET:
field_dict['name_for_human'] = name_for_human
field_dict["name_for_human"] = name_for_human
if name_for_model is not UNSET:
field_dict['name_for_model'] = name_for_model
field_dict["name_for_model"] = name_for_model
if schema_version is not UNSET:
field_dict['schema_version'] = schema_version
field_dict["schema_version"] = schema_version
return field_dict
@ -73,15 +76,19 @@ This is used for OpenAI's ChatGPT plugins. You can read more about them [here](h
api: Union[Unset, AiPluginApi]
if isinstance(_api, Unset):
api = UNSET
if _api is None:
api = UNSET
else:
api = _api # type: ignore[arg-type]
api = AiPluginApi.from_dict(_api)
_auth = d.pop("auth", UNSET)
auth: Union[Unset, AiPluginAuth]
if isinstance(_auth, Unset):
auth = UNSET
if _auth is None:
auth = UNSET
else:
auth = _auth # type: ignore[arg-type]
auth = AiPluginAuth.from_dict(_auth)
contact_email = d.pop("contact_email", UNSET)
@ -99,18 +106,17 @@ This is used for OpenAI's ChatGPT plugins. You can read more about them [here](h
schema_version = d.pop("schema_version", UNSET)
ai_plugin_manifest = cls(
api= api,
auth= auth,
contact_email= contact_email,
description_for_human= description_for_human,
description_for_model= description_for_model,
legal_info_url= legal_info_url,
logo_url= logo_url,
name_for_human= name_for_human,
name_for_model= name_for_model,
schema_version= schema_version,
api=api,
auth=auth,
contact_email=contact_email,
description_for_human=description_for_human,
description_for_model=description_for_model,
legal_info_url=legal_info_url,
logo_url=logo_url,
name_for_human=name_for_human,
name_for_model=name_for_model,
schema_version=schema_version,
)
ai_plugin_manifest.additional_properties = d

View File

@ -0,0 +1,219 @@
import datetime
from typing import Any, Dict, List, Type, TypeVar, Union
import attr
from dateutil.parser import isoparse
from ..models.ai_feedback import AiFeedback
from ..models.ai_prompt_type import AiPromptType
from ..models.api_call_status import ApiCallStatus
from ..models.uuid import Uuid
from ..models.uuid_binary import UuidBinary
from ..types import UNSET, Unset
GO = TypeVar("GO", bound="AiPrompt")
@attr.s(auto_attribs=True)
class AiPrompt:
"""An AI prompt.""" # noqa: E501
completed_at: Union[Unset, datetime.datetime] = UNSET
created_at: Union[Unset, datetime.datetime] = UNSET
error: Union[Unset, str] = UNSET
feedback: Union[Unset, AiFeedback] = UNSET
id: Union[Unset, UuidBinary] = UNSET
metadata: Union[Unset, Any] = UNSET
model_version: Union[Unset, str] = UNSET
output_file: Union[Unset, str] = UNSET
prompt: Union[Unset, str] = UNSET
started_at: Union[Unset, datetime.datetime] = UNSET
status: Union[Unset, ApiCallStatus] = UNSET
type: Union[Unset, AiPromptType] = UNSET
updated_at: Union[Unset, datetime.datetime] = UNSET
user_id: Union[Unset, str] = UNSET
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
def to_dict(self) -> Dict[str, Any]:
completed_at: Union[Unset, str] = UNSET
if not isinstance(self.completed_at, Unset):
completed_at = self.completed_at.isoformat()
created_at: Union[Unset, str] = UNSET
if not isinstance(self.created_at, Unset):
created_at = self.created_at.isoformat()
error = self.error
if not isinstance(self.feedback, Unset):
feedback = self.feedback
if not isinstance(self.id, Unset):
id = self.id
metadata = self.metadata
model_version = self.model_version
output_file = self.output_file
prompt = self.prompt
started_at: Union[Unset, str] = UNSET
if not isinstance(self.started_at, Unset):
started_at = self.started_at.isoformat()
if not isinstance(self.status, Unset):
status = self.status
if not isinstance(self.type, Unset):
type = self.type
updated_at: Union[Unset, str] = UNSET
if not isinstance(self.updated_at, Unset):
updated_at = self.updated_at.isoformat()
user_id = self.user_id
field_dict: Dict[str, Any] = {}
field_dict.update(self.additional_properties)
field_dict.update({})
if completed_at is not UNSET:
field_dict["completed_at"] = completed_at
if created_at is not UNSET:
field_dict["created_at"] = created_at
if error is not UNSET:
field_dict["error"] = error
if feedback is not UNSET:
field_dict["feedback"] = feedback
if id is not UNSET:
field_dict["id"] = id
if metadata is not UNSET:
field_dict["metadata"] = metadata
if model_version is not UNSET:
field_dict["model_version"] = model_version
if output_file is not UNSET:
field_dict["output_file"] = output_file
if prompt is not UNSET:
field_dict["prompt"] = prompt
if started_at is not UNSET:
field_dict["started_at"] = started_at
if status is not UNSET:
field_dict["status"] = status
if type is not UNSET:
field_dict["type"] = type
if updated_at is not UNSET:
field_dict["updated_at"] = updated_at
if user_id is not UNSET:
field_dict["user_id"] = user_id
return field_dict
@classmethod
def from_dict(cls: Type[GO], src_dict: Dict[str, Any]) -> GO:
d = src_dict.copy()
_completed_at = d.pop("completed_at", UNSET)
completed_at: Union[Unset, datetime.datetime]
if isinstance(_completed_at, Unset):
completed_at = UNSET
else:
completed_at = isoparse(_completed_at)
_created_at = d.pop("created_at", UNSET)
created_at: Union[Unset, datetime.datetime]
if isinstance(_created_at, Unset):
created_at = UNSET
else:
created_at = isoparse(_created_at)
error = d.pop("error", UNSET)
_feedback = d.pop("feedback", UNSET)
feedback: Union[Unset, AiFeedback]
if isinstance(_feedback, Unset):
feedback = UNSET
if _feedback is None:
feedback = UNSET
else:
feedback = _feedback
_id = d.pop("id", UNSET)
id: Union[Unset, UuidBinary]
if isinstance(_id, Unset):
id = UNSET
if _id is None:
id = UNSET
else:
id = _id
metadata = d.pop("metadata", UNSET)
model_version = d.pop("model_version", UNSET)
output_file = d.pop("output_file", UNSET)
prompt = d.pop("prompt", UNSET)
_started_at = d.pop("started_at", UNSET)
started_at: Union[Unset, datetime.datetime]
if isinstance(_started_at, Unset):
started_at = UNSET
else:
started_at = isoparse(_started_at)
_status = d.pop("status", UNSET)
status: Union[Unset, ApiCallStatus]
if isinstance(_status, Unset):
status = UNSET
if _status is None:
status = UNSET
else:
status = _status
_type = d.pop("type", UNSET)
type: Union[Unset, AiPromptType]
if isinstance(_type, Unset):
type = UNSET
if _type is None:
type = UNSET
else:
type = _type
_updated_at = d.pop("updated_at", UNSET)
updated_at: Union[Unset, datetime.datetime]
if isinstance(_updated_at, Unset):
updated_at = UNSET
else:
updated_at = isoparse(_updated_at)
_user_id = d.pop("user_id", UNSET)
user_id: Union[Unset, Uuid]
if isinstance(_user_id, Unset):
user_id = UNSET
if _user_id is None:
user_id = UNSET
else:
user_id = _user_id
ai_prompt = cls(
completed_at=completed_at,
created_at=created_at,
error=error,
feedback=feedback,
id=id,
metadata=metadata,
model_version=model_version,
output_file=output_file,
prompt=prompt,
started_at=started_at,
status=status,
type=type,
updated_at=updated_at,
user_id=user_id,
)
ai_prompt.additional_properties = d
return ai_prompt
@property
def additional_keys(self) -> List[str]:
return list(self.additional_properties.keys())
def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]
def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value
def __delitem__(self, key: str) -> None:
del self.additional_properties[key]
def __contains__(self, key: str) -> bool:
return key in self.additional_properties

View File

@ -0,0 +1,70 @@
from typing import Any, Dict, List, Type, TypeVar, Union, cast
import attr
from ..types import UNSET, Unset
PI = TypeVar("PI", bound="AiPromptResultsPage")
@attr.s(auto_attribs=True)
class AiPromptResultsPage:
"""A single page of results""" # noqa: E501
from ..models.ai_prompt import AiPrompt
items: Union[Unset, List[AiPrompt]] = UNSET
next_page: Union[Unset, str] = UNSET
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
def to_dict(self) -> Dict[str, Any]:
from ..models.ai_prompt import AiPrompt
items: Union[Unset, List[AiPrompt]] = UNSET
if not isinstance(self.items, Unset):
items = self.items
next_page = self.next_page
field_dict: Dict[str, Any] = {}
field_dict.update(self.additional_properties)
field_dict.update({})
if items is not UNSET:
field_dict["items"] = items
if next_page is not UNSET:
field_dict["next_page"] = next_page
return field_dict
@classmethod
def from_dict(cls: Type[PI], src_dict: Dict[str, Any]) -> PI:
d = src_dict.copy()
from ..models.ai_prompt import AiPrompt
items = cast(List[AiPrompt], d.pop("items", UNSET))
next_page = d.pop("next_page", UNSET)
ai_prompt_results_page = cls(
items=items,
next_page=next_page,
)
ai_prompt_results_page.additional_properties = d
return ai_prompt_results_page
@property
def additional_keys(self) -> List[str]:
return list(self.additional_properties.keys())
def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]
def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value
def __delitem__(self, key: str) -> None:
del self.additional_properties[key]
def __contains__(self, key: str) -> bool:
return key in self.additional_properties

View File

@ -0,0 +1,11 @@
from enum import Enum
class AiPromptType(str, Enum):
"""A type of AI prompt.""" # noqa: E501
"""# Text to CAD. """ # noqa: E501
TEXT_TO_CAD = "text_to_cad"
def __str__(self) -> str:
return str(self.value)

View File

@ -5,11 +5,13 @@ import attr
from ..models.unit_angle import UnitAngle
from ..types import UNSET, Unset
GO = TypeVar("GO", bound="Angle")
UZ = TypeVar("UZ", bound="Angle")
@attr.s(auto_attribs=True)
class Angle:
""" An angle, with a specific unit. """ # noqa: E501
"""An angle, with a specific unit.""" # noqa: E501
unit: Union[Unset, UnitAngle] = UNSET
value: Union[Unset, float] = UNSET
@ -24,28 +26,29 @@ class Angle:
field_dict.update(self.additional_properties)
field_dict.update({})
if unit is not UNSET:
field_dict['unit'] = unit
field_dict["unit"] = unit
if value is not UNSET:
field_dict['value'] = value
field_dict["value"] = value
return field_dict
@classmethod
def from_dict(cls: Type[GO], src_dict: Dict[str, Any]) -> GO:
def from_dict(cls: Type[UZ], src_dict: Dict[str, Any]) -> UZ:
d = src_dict.copy()
_unit = d.pop("unit", UNSET)
unit: Union[Unset, UnitAngle]
if isinstance(_unit, Unset):
unit = UNSET
if _unit is None:
unit = UNSET
else:
unit = _unit # type: ignore[arg-type]
unit = _unit
value = d.pop("value", UNSET)
angle = cls(
unit= unit,
value= value,
unit=unit,
value=value,
)
angle.additional_properties = d

View File

@ -2,9 +2,10 @@ from enum import Enum
class AnnotationLineEnd(str, Enum):
""" Annotation line end type """ # noqa: E501
NONE = 'none'
ARROW = 'arrow'
"""Annotation line end type""" # noqa: E501
NONE = "none"
ARROW = "arrow"
def __str__(self) -> str:
return str(self.value)

View File

@ -5,11 +5,13 @@ import attr
from ..models.annotation_line_end import AnnotationLineEnd
from ..types import UNSET, Unset
PI = TypeVar("PI", bound="AnnotationLineEndOptions")
FB = TypeVar("FB", bound="AnnotationLineEndOptions")
@attr.s(auto_attribs=True)
class AnnotationLineEndOptions:
""" Options for annotation text """ # noqa: E501
"""Options for annotation text""" # noqa: E501
end: Union[Unset, AnnotationLineEnd] = UNSET
start: Union[Unset, AnnotationLineEnd] = UNSET
@ -25,33 +27,36 @@ class AnnotationLineEndOptions:
field_dict.update(self.additional_properties)
field_dict.update({})
if end is not UNSET:
field_dict['end'] = end
field_dict["end"] = end
if start is not UNSET:
field_dict['start'] = start
field_dict["start"] = start
return field_dict
@classmethod
def from_dict(cls: Type[PI], src_dict: Dict[str, Any]) -> PI:
def from_dict(cls: Type[FB], src_dict: Dict[str, Any]) -> FB:
d = src_dict.copy()
_end = d.pop("end", UNSET)
end: Union[Unset, AnnotationLineEnd]
if isinstance(_end, Unset):
end = UNSET
if _end is None:
end = UNSET
else:
end = _end # type: ignore[arg-type]
end = _end
_start = d.pop("start", UNSET)
start: Union[Unset, AnnotationLineEnd]
if isinstance(_start, Unset):
start = UNSET
if _start is None:
start = UNSET
else:
start = _start # type: ignore[arg-type]
start = _start
annotation_line_end_options = cls(
end= end,
start= start,
end=end,
start=start,
)
annotation_line_end_options.additional_properties = d

View File

@ -8,11 +8,13 @@ from ..models.color import Color
from ..models.point3d import Point3d
from ..types import UNSET, Unset
UZ = TypeVar("UZ", bound="AnnotationOptions")
QP = TypeVar("QP", bound="AnnotationOptions")
@attr.s(auto_attribs=True)
class AnnotationOptions:
""" Options for annotations """ # noqa: E501
"""Options for annotations""" # noqa: E501
color: Union[Unset, Color] = UNSET
line_ends: Union[Unset, AnnotationLineEndOptions] = UNSET
line_width: Union[Unset, float] = UNSET
@ -36,34 +38,38 @@ class AnnotationOptions:
field_dict.update(self.additional_properties)
field_dict.update({})
if color is not UNSET:
field_dict['color'] = color
field_dict["color"] = color.to_dict()
if line_ends is not UNSET:
field_dict['line_ends'] = line_ends
field_dict["line_ends"] = line_ends.to_dict()
if line_width is not UNSET:
field_dict['line_width'] = line_width
field_dict["line_width"] = line_width
if position is not UNSET:
field_dict['position'] = position
field_dict["position"] = position.to_dict()
if text is not UNSET:
field_dict['text'] = text
field_dict["text"] = text.to_dict()
return field_dict
@classmethod
def from_dict(cls: Type[UZ], src_dict: Dict[str, Any]) -> UZ:
def from_dict(cls: Type[QP], src_dict: Dict[str, Any]) -> QP:
d = src_dict.copy()
_color = d.pop("color", UNSET)
color: Union[Unset, Color]
if isinstance(_color, Unset):
color = UNSET
if _color is None:
color = UNSET
else:
color = _color # type: ignore[arg-type]
color = Color.from_dict(_color)
_line_ends = d.pop("line_ends", UNSET)
line_ends: Union[Unset, AnnotationLineEndOptions]
if isinstance(_line_ends, Unset):
line_ends = UNSET
if _line_ends is None:
line_ends = UNSET
else:
line_ends = _line_ends # type: ignore[arg-type]
line_ends = AnnotationLineEndOptions.from_dict(_line_ends)
line_width = d.pop("line_width", UNSET)
@ -71,23 +77,26 @@ class AnnotationOptions:
position: Union[Unset, Point3d]
if isinstance(_position, Unset):
position = UNSET
if _position is None:
position = UNSET
else:
position = _position # type: ignore[arg-type]
position = Point3d.from_dict(_position)
_text = d.pop("text", UNSET)
text: Union[Unset, AnnotationTextOptions]
if isinstance(_text, Unset):
text = UNSET
if _text is None:
text = UNSET
else:
text = _text # type: ignore[arg-type]
text = AnnotationTextOptions.from_dict(_text)
annotation_options = cls(
color= color,
line_ends= line_ends,
line_width= line_width,
position= position,
text= text,
color=color,
line_ends=line_ends,
line_width=line_width,
position=position,
text=text,
)
annotation_options.additional_properties = d

View File

@ -2,10 +2,11 @@ from enum import Enum
class AnnotationTextAlignmentX(str, Enum):
""" Horizontal Text aligment """ # noqa: E501
LEFT = 'left'
CENTER = 'center'
RIGHT = 'right'
"""Horizontal Text alignment""" # noqa: E501
LEFT = "left"
CENTER = "center"
RIGHT = "right"
def __str__(self) -> str:
return str(self.value)

Some files were not shown because too many files have changed in this diff Show More