Merge pull request #4 from KittyCAD/refactor

Refactor
This commit is contained in:
Jess Frazelle
2022-03-06 17:15:06 -08:00
committed by GitHub
355 changed files with 8994 additions and 8536 deletions

0
.dockerignore Normal file
View File

View File

@ -5,10 +5,12 @@ on:
paths: paths:
- '**.py' - '**.py'
- .github/workflows/build-test.yml - .github/workflows/build-test.yml
- 'pyproject.toml'
pull_request: pull_request:
paths: paths:
- '**.py' - '**.py'
- .github/workflows/build-test.yml - .github/workflows/build-test.yml
- 'pyproject.toml'
jobs: jobs:
build-test: build-test:

View File

@ -9,12 +9,6 @@ on:
- '**.rst' - '**.rst'
- '**.py' - '**.py'
- .github/workflows/generate-docs.yml - .github/workflows/generate-docs.yml
pull_request:
paths:
- docs/conf.py
- '**.rst'
- '**.py'
- .github/workflows/generate-docs.yml
jobs: jobs:
generate-docs: generate-docs:

View File

@ -0,0 +1,69 @@
on:
push:
tags:
- v*
pull_request:
paths:
- .github/workflows/update-spec-for-docs.yml
workflow_dispatch:
name: update spec for docs
concurrency:
group: docs-${{ github.ref }}
cancel-in-progress: true
jobs:
update-spec:
name: update-spec
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: '1.x'
- name: make generate
shell: bash
run: |
make generate
# Ensure no files changed.
- name: Ensure no files changed
shell: bash
run: |
if [[ `git status --porcelain` ]]; then
echo "Files changed, exiting";
exit 1;
else
# No changes
echo "No files changed, proceeding";
fi
# Checkout the docs repo since we will want to update the files there.
- uses: actions/checkout@v2
with:
repository: 'kittycad/docs'
path: 'docs'
token: ${{secrets.PAT_GITHUB}}
- name: move spec to docs
shell: bash
run: |
rm docs/spec.json || true
cp spec.json docs/spec.json
- name: commit the changes in the docs repo
shell: bash
run: |
export VERSION=$(cat VERSION.txt);
cd docs
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add .
git commit -am "YOYO NEW SPEC DOCS ${VERSION}!" || exit 0
git fetch origin
git rebase origin/main || exit 0
export NEW_BRANCH="update-spec-${VERSION}"
git checkout -b "$NEW_BRANCH"
git push -f origin "$NEW_BRANCH"
gh pr create --title "Update lang spec docs for ${VERSION}" \
--body "Updating the generated docs for go lang" \
--head "$NEW_BRANCH" \
--base main || true
env:
GITHUB_TOKEN: ${{secrets.PAT_GITHUB}}

View File

@ -1,7 +1,13 @@
FROM python:latest FROM python:latest
RUN pip install \ RUN pip install \
openapi-python-client poetry
WORKDIR /usr/src/
COPY . /usr/src/
RUN poetry install
# Set the default command to bash. # Set the default command to bash.
CMD ["bash"] CMD ["bash"]

View File

@ -10,14 +10,21 @@ endif
VERSION := $(shell toml get $(CURDIR)/pyproject.toml tool.poetry.version | jq -r .) VERSION := $(shell toml get $(CURDIR)/pyproject.toml tool.poetry.version | jq -r .)
.PHONY: generate .PHONY: generate
generate: docker-image generate: docker-image ## Generate the api client.
docker run --rm -i $(DOCKER_FLAGS) \ docker run --rm -i $(DOCKER_FLAGS) \
--name python-generator \ --name python-generator \
-v $(CURDIR):/usr/kittycad \ -v $(CURDIR):/usr/src \
--workdir /usr \ --workdir /usr/src \
$(DOCKER_IMAGE_NAME) openapi-python-client update \ $(DOCKER_IMAGE_NAME) sh -c 'poetry run python generate/generate.py && poetry run autopep8 --in-place --aggressive --aggressive kittycad/models/*.py && poetry run autopep8 --in-place --aggressive --aggressive kittycad/api/*.py && poetry run autopep8 --in-place --aggressive --aggressive kittycad/*.py && poetry run autopep8 --in-place --aggressive --aggressive generate/*.py'
--url https://api.kittycad.io \
--config /usr/kittycad/config.yml .PHONY: shell
shell: docker-image ## Pop into a shell in the docker image.
docker run --rm -i $(DOCKER_FLAGS) \
--name python-generator-shell \
-v $(CURDIR):/usr/src \
--workdir /usr/src \
$(DOCKER_IMAGE_NAME) /bin/bash
.PHONY: docker-image .PHONY: docker-image
docker-image: docker-image:

View File

@ -2,9 +2,6 @@
The Python API client for KittyCAD. The Python API client for KittyCAD.
This is generated from
[openapi-generators/openapi-python-client](https://github.com/openapi-generators/openapi-python-client).
- [PyPI](https://pypi.org/project/kittycad/) - [PyPI](https://pypi.org/project/kittycad/)
- [Python docs](https://python.api.docs.kittycad.io/) - [Python docs](https://python.api.docs.kittycad.io/)
- [KittyCAD API Docs](https://docs.kittycad.io/?lang=python) - [KittyCAD API Docs](https://docs.kittycad.io/?lang=python)
@ -26,44 +23,3 @@ $ make generate
Please do not change the code directly since it is generated. PRs that change Please do not change the code directly since it is generated. PRs that change
the code directly will be automatically closed by a bot. the code directly will be automatically closed by a bot.
## Usage
First, create an authenticated client:
```python
from kittycad import AuthenticatedClient
client = AuthenticatedClient(token="your_token")
```
If you want to use the environment variable `KITTYCAD_API_TOKEN` to do
authentication and not pass one to the client, do the following:
```python
from kittycad import AuthenticatedClientFromEnv
client = AuthenticatedClientFromEnv()
```
Now call your endpoint and use your models:
```python
from kittycad.models import AuthSession
from kittycad.api.meta import meta_debug_session
from kittycad.types import Response
session: AuthSession = meta_debug_session.sync(client=client)
# or if you need more info (e.g. status_code)
response: Response[AuthSession] = meta_debug_session.sync_detailed(client=client)
```
Or do the same thing with an async version:
```python
from kittycad.models import AuthSession
from kittycad.api.meta import meta_debug_session
from kittycad.types import Response
session: AuthSession = await meta_debug_session.asyncio(client=client)
response: Response[AuthSession] = await meta_debug_session.asyncio_detailed(client=client)
```

View File

@ -1,2 +0,0 @@
project_name_override: kittycad
package_name_override: kittycad

View File

@ -1,16 +1,16 @@
AuthenticatedClient ClientFromEnv
=================== =============
.. currentmodule:: kittycad .. currentmodule:: kittycad
.. autoclass:: AuthenticatedClient .. autoclass:: ClientFromEnv
:show-inheritance: :show-inheritance:
.. rubric:: Methods Summary .. rubric:: Methods Summary
.. autosummary:: .. autosummary::
~AuthenticatedClient.get_headers ~ClientFromEnv.get_headers
.. rubric:: Methods Documentation .. rubric:: Methods Documentation

View File

@ -1,6 +0,0 @@
asyncio
=======
.. currentmodule:: kittycad.api.file.file_conversion_by_id
.. autofunction:: asyncio

View File

@ -1,6 +0,0 @@
asyncio_detailed
================
.. currentmodule:: kittycad.api.file.file_conversion_by_id
.. autofunction:: asyncio_detailed

View File

@ -1,6 +0,0 @@
sync
====
.. currentmodule:: kittycad.api.file.file_conversion_by_id
.. autofunction:: sync

View File

@ -1,6 +0,0 @@
sync_detailed
=============
.. currentmodule:: kittycad.api.file.file_conversion_by_id
.. autofunction:: sync_detailed

View File

@ -1,6 +0,0 @@
asyncio
=======
.. currentmodule:: kittycad.api.file.file_conversion_by_id_with_base64_helper
.. autofunction:: asyncio

View File

@ -1,6 +0,0 @@
sync
====
.. currentmodule:: kittycad.api.file.file_conversion_by_id_with_base64_helper
.. autofunction:: sync

View File

@ -1,6 +0,0 @@
asyncio
=======
.. currentmodule:: kittycad.api.file.file_convert
.. autofunction:: asyncio

View File

@ -1,6 +0,0 @@
asyncio_detailed
================
.. currentmodule:: kittycad.api.file.file_convert
.. autofunction:: asyncio_detailed

View File

@ -1,6 +0,0 @@
sync
====
.. currentmodule:: kittycad.api.file.file_convert
.. autofunction:: sync

View File

@ -1,6 +0,0 @@
sync_detailed
=============
.. currentmodule:: kittycad.api.file.file_convert
.. autofunction:: sync_detailed

View File

@ -1,6 +0,0 @@
asyncio
=======
.. currentmodule:: kittycad.api.file.file_convert_with_base64_helper
.. autofunction:: asyncio

View File

@ -1,6 +0,0 @@
sync
====
.. currentmodule:: kittycad.api.file.file_convert_with_base64_helper
.. autofunction:: sync

View File

@ -1,6 +0,0 @@
asyncio
=======
.. currentmodule:: kittycad.api.meta.meta_debug_instance
.. autofunction:: asyncio

View File

@ -1,6 +0,0 @@
asyncio_detailed
================
.. currentmodule:: kittycad.api.meta.meta_debug_instance
.. autofunction:: asyncio_detailed

View File

@ -1,6 +0,0 @@
sync
====
.. currentmodule:: kittycad.api.meta.meta_debug_instance
.. autofunction:: sync

View File

@ -1,6 +0,0 @@
sync_detailed
=============
.. currentmodule:: kittycad.api.meta.meta_debug_instance
.. autofunction:: sync_detailed

View File

@ -1,6 +0,0 @@
asyncio
=======
.. currentmodule:: kittycad.api.meta.meta_debug_session
.. autofunction:: asyncio

View File

@ -1,6 +0,0 @@
asyncio_detailed
================
.. currentmodule:: kittycad.api.meta.meta_debug_session
.. autofunction:: asyncio_detailed

View File

@ -1,6 +0,0 @@
sync
====
.. currentmodule:: kittycad.api.meta.meta_debug_session
.. autofunction:: sync

View File

@ -1,6 +0,0 @@
sync_detailed
=============
.. currentmodule:: kittycad.api.meta.meta_debug_session
.. autofunction:: sync_detailed

View File

@ -1,6 +0,0 @@
asyncio
=======
.. currentmodule:: kittycad.api.meta.ping
.. autofunction:: asyncio

View File

@ -1,6 +0,0 @@
asyncio_detailed
================
.. currentmodule:: kittycad.api.meta.ping
.. autofunction:: asyncio_detailed

View File

@ -1,6 +0,0 @@
sync
====
.. currentmodule:: kittycad.api.meta.ping
.. autofunction:: sync

View File

@ -1,6 +0,0 @@
sync_detailed
=============
.. currentmodule:: kittycad.api.meta.ping
.. autofunction:: sync_detailed

View File

@ -1,17 +0,0 @@
AuthenticatedClient
===================
.. currentmodule:: kittycad.client
.. autoclass:: AuthenticatedClient
:show-inheritance:
.. rubric:: Methods Summary
.. autosummary::
~AuthenticatedClient.get_headers
.. rubric:: Methods Documentation
.. automethod:: get_headers

View File

@ -1,17 +0,0 @@
AuthenticatedClientFromEnv
==========================
.. currentmodule:: kittycad.client
.. autoclass:: AuthenticatedClientFromEnv
:show-inheritance:
.. rubric:: Methods Summary
.. autosummary::
~AuthenticatedClientFromEnv.get_headers
.. rubric:: Methods Documentation
.. automethod:: get_headers

View File

@ -1,27 +0,0 @@
Client
======
.. currentmodule:: kittycad.client
.. autoclass:: Client
:show-inheritance:
.. rubric:: Methods Summary
.. autosummary::
~Client.get_cookies
~Client.get_headers
~Client.get_timeout
~Client.with_cookies
~Client.with_headers
~Client.with_timeout
.. rubric:: Methods Documentation
.. automethod:: get_cookies
.. automethod:: get_headers
.. automethod:: get_timeout
.. automethod:: with_cookies
.. automethod:: with_headers
.. automethod:: with_timeout

View File

@ -1,29 +0,0 @@
AuthSession
===========
.. currentmodule:: kittycad.models
.. autoclass:: AuthSession
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~AuthSession.additional_keys
.. rubric:: Methods Summary
.. autosummary::
~AuthSession.from_dict
~AuthSession.to_dict
.. rubric:: Attributes Documentation
.. autoattribute:: additional_keys
.. rubric:: Methods Documentation
.. automethod:: from_dict
.. automethod:: to_dict

View File

@ -1,21 +0,0 @@
Environment
===========
.. currentmodule:: kittycad.models
.. autoclass:: Environment
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~Environment.DEVELOPMENT
~Environment.PREVIEW
~Environment.PRODUCTION
.. rubric:: Attributes Documentation
.. autoattribute:: DEVELOPMENT
.. autoattribute:: PREVIEW
.. autoattribute:: PRODUCTION

View File

@ -1,29 +0,0 @@
ErrorMessage
============
.. currentmodule:: kittycad.models
.. autoclass:: ErrorMessage
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~ErrorMessage.additional_keys
.. rubric:: Methods Summary
.. autosummary::
~ErrorMessage.from_dict
~ErrorMessage.to_dict
.. rubric:: Attributes Documentation
.. autoattribute:: additional_keys
.. rubric:: Methods Documentation
.. automethod:: from_dict
.. automethod:: to_dict

View File

@ -1,29 +0,0 @@
FileConversion
==============
.. currentmodule:: kittycad.models
.. autoclass:: FileConversion
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~FileConversion.additional_keys
.. rubric:: Methods Summary
.. autosummary::
~FileConversion.from_dict
~FileConversion.to_dict
.. rubric:: Attributes Documentation
.. autoattribute:: additional_keys
.. rubric:: Methods Documentation
.. automethod:: from_dict
.. automethod:: to_dict

View File

@ -1,25 +0,0 @@
FileConversionStatus
====================
.. currentmodule:: kittycad.models
.. autoclass:: FileConversionStatus
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~FileConversionStatus.COMPLETED
~FileConversionStatus.FAILED
~FileConversionStatus.IN_PROGRESS
~FileConversionStatus.QUEUED
~FileConversionStatus.UPLOADED
.. rubric:: Attributes Documentation
.. autoattribute:: COMPLETED
.. autoattribute:: FAILED
.. autoattribute:: IN_PROGRESS
.. autoattribute:: QUEUED
.. autoattribute:: UPLOADED

View File

@ -1,29 +0,0 @@
InstanceMetadata
================
.. currentmodule:: kittycad.models
.. autoclass:: InstanceMetadata
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~InstanceMetadata.additional_keys
.. rubric:: Methods Summary
.. autosummary::
~InstanceMetadata.from_dict
~InstanceMetadata.to_dict
.. rubric:: Attributes Documentation
.. autoattribute:: additional_keys
.. rubric:: Methods Documentation
.. automethod:: from_dict
.. automethod:: to_dict

View File

@ -1,29 +0,0 @@
Message
=======
.. currentmodule:: kittycad.models
.. autoclass:: Message
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~Message.additional_keys
.. rubric:: Methods Summary
.. autosummary::
~Message.from_dict
~Message.to_dict
.. rubric:: Attributes Documentation
.. autoattribute:: additional_keys
.. rubric:: Methods Documentation
.. automethod:: from_dict
.. automethod:: to_dict

View File

@ -1,25 +0,0 @@
ValidFileTypes
==============
.. currentmodule:: kittycad.models
.. autoclass:: ValidFileTypes
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~ValidFileTypes.DWG
~ValidFileTypes.DXF
~ValidFileTypes.OBJ
~ValidFileTypes.STEP
~ValidFileTypes.STL
.. rubric:: Attributes Documentation
.. autoattribute:: DWG
.. autoattribute:: DXF
.. autoattribute:: OBJ
.. autoattribute:: STEP
.. autoattribute:: STL

View File

@ -1,29 +0,0 @@
AuthSession
===========
.. currentmodule:: kittycad.models.auth_session
.. autoclass:: AuthSession
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~AuthSession.additional_keys
.. rubric:: Methods Summary
.. autosummary::
~AuthSession.from_dict
~AuthSession.to_dict
.. rubric:: Attributes Documentation
.. autoattribute:: additional_keys
.. rubric:: Methods Documentation
.. automethod:: from_dict
.. automethod:: to_dict

View File

@ -1,21 +0,0 @@
Environment
===========
.. currentmodule:: kittycad.models.environment
.. autoclass:: Environment
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~Environment.DEVELOPMENT
~Environment.PREVIEW
~Environment.PRODUCTION
.. rubric:: Attributes Documentation
.. autoattribute:: DEVELOPMENT
.. autoattribute:: PREVIEW
.. autoattribute:: PRODUCTION

View File

@ -1,29 +0,0 @@
ErrorMessage
============
.. currentmodule:: kittycad.models.error_message
.. autoclass:: ErrorMessage
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~ErrorMessage.additional_keys
.. rubric:: Methods Summary
.. autosummary::
~ErrorMessage.from_dict
~ErrorMessage.to_dict
.. rubric:: Attributes Documentation
.. autoattribute:: additional_keys
.. rubric:: Methods Documentation
.. automethod:: from_dict
.. automethod:: to_dict

View File

@ -1,29 +0,0 @@
FileConversion
==============
.. currentmodule:: kittycad.models.file_conversion
.. autoclass:: FileConversion
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~FileConversion.additional_keys
.. rubric:: Methods Summary
.. autosummary::
~FileConversion.from_dict
~FileConversion.to_dict
.. rubric:: Attributes Documentation
.. autoattribute:: additional_keys
.. rubric:: Methods Documentation
.. automethod:: from_dict
.. automethod:: to_dict

View File

@ -1,25 +0,0 @@
FileConversionStatus
====================
.. currentmodule:: kittycad.models.file_conversion
.. autoclass:: FileConversionStatus
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~FileConversionStatus.COMPLETED
~FileConversionStatus.FAILED
~FileConversionStatus.IN_PROGRESS
~FileConversionStatus.QUEUED
~FileConversionStatus.UPLOADED
.. rubric:: Attributes Documentation
.. autoattribute:: COMPLETED
.. autoattribute:: FAILED
.. autoattribute:: IN_PROGRESS
.. autoattribute:: QUEUED
.. autoattribute:: UPLOADED

View File

@ -1,25 +0,0 @@
FileConversionStatus
====================
.. currentmodule:: kittycad.models.file_conversion_status
.. autoclass:: FileConversionStatus
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~FileConversionStatus.COMPLETED
~FileConversionStatus.FAILED
~FileConversionStatus.IN_PROGRESS
~FileConversionStatus.QUEUED
~FileConversionStatus.UPLOADED
.. rubric:: Attributes Documentation
.. autoattribute:: COMPLETED
.. autoattribute:: FAILED
.. autoattribute:: IN_PROGRESS
.. autoattribute:: QUEUED
.. autoattribute:: UPLOADED

View File

@ -1,29 +0,0 @@
InstanceMetadata
================
.. currentmodule:: kittycad.models.instance_metadata
.. autoclass:: InstanceMetadata
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~InstanceMetadata.additional_keys
.. rubric:: Methods Summary
.. autosummary::
~InstanceMetadata.from_dict
~InstanceMetadata.to_dict
.. rubric:: Attributes Documentation
.. autoattribute:: additional_keys
.. rubric:: Methods Documentation
.. automethod:: from_dict
.. automethod:: to_dict

View File

@ -1,29 +0,0 @@
Message
=======
.. currentmodule:: kittycad.models.message
.. autoclass:: Message
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~Message.additional_keys
.. rubric:: Methods Summary
.. autosummary::
~Message.from_dict
~Message.to_dict
.. rubric:: Attributes Documentation
.. autoattribute:: additional_keys
.. rubric:: Methods Documentation
.. automethod:: from_dict
.. automethod:: to_dict

View File

@ -1,25 +0,0 @@
ValidFileTypes
==============
.. currentmodule:: kittycad.models.valid_file_types
.. autoclass:: ValidFileTypes
:show-inheritance:
.. rubric:: Attributes Summary
.. autosummary::
~ValidFileTypes.DWG
~ValidFileTypes.DXF
~ValidFileTypes.OBJ
~ValidFileTypes.STEP
~ValidFileTypes.STL
.. rubric:: Attributes Documentation
.. autoattribute:: DWG
.. autoattribute:: DXF
.. autoattribute:: OBJ
.. autoattribute:: STEP
.. autoattribute:: STL

View File

@ -1,17 +0,0 @@
File
====
.. currentmodule:: kittycad.types
.. autoclass:: File
:show-inheritance:
.. rubric:: Methods Summary
.. autosummary::
~File.to_tuple
.. rubric:: Methods Documentation
.. automethod:: to_tuple

View File

@ -1,7 +0,0 @@
Response
========
.. currentmodule:: kittycad.types
.. autoclass:: Response
:show-inheritance:

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1 # Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: fedaf56120cb91b327d8a023250f850a config: 74989a7dc76cd38543fd6db0578bbfeb
tags: 645f666f9bcd5a90fca523b33c5a78b7 tags: 645f666f9bcd5a90fca523b33c5a78b7

Binary file not shown.

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