deadline-cloud-for-keyshot


Namedeadline-cloud-for-keyshot JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummaryAWS Deadline Cloud for KeyShot
upload_time2024-10-16 17:58:08
maintainerNone
docs_urlNone
authorAmazon Web Services
requires_python>=3.9
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AWS Deadline Cloud for KeyShot

[![pypi](https://img.shields.io/pypi/v/deadline-cloud-for-keyshot.svg?style=flat)](https://pypi.python.org/pypi/deadline-cloud-for-keyshot)
[![python](https://img.shields.io/pypi/pyversions/deadline-cloud-for-keyshot.svg?style=flat)](https://pypi.python.org/pypi/deadline-cloud-for-keyshot)
[![license](https://img.shields.io/pypi/l/deadline-cloud-for-keyshot.svg?style=flat)](https://github.com/aws-deadline/deadline-cloud-for-keyshot/blob/mainline/LICENSE)

AWS Deadline Cloud for KeyShot is a python package that allows users to create [AWS Deadline Cloud][deadline-cloud] jobs from within KeyShot. Using the [Open Job Description (OpenJD) Adaptor Runtime][openjd-adaptor-runtime] this package also provides a command line application that adapts KeyShot's command line interface to support the [OpenJD specification][openjd].

[deadline-cloud]: https://docs.aws.amazon.com/deadline-cloud/latest/userguide/what-is-deadline-cloud.html
[deadline-cloud-client]: https://github.com/aws-deadline/deadline-cloud
[openjd]: https://github.com/OpenJobDescription/openjd-specifications/wiki
[openjd-adaptor-runtime]: https://github.com/OpenJobDescription/openjd-adaptor-runtime-for-python
[openjd-adaptor-runtime-lifecycle]: https://github.com/OpenJobDescription/openjd-adaptor-runtime-for-python/blob/release/README.md#adaptor-lifecycle

## Compatibility

This library requires:
1. KeyShot 2023 or 2024
1. Python 3.9 or higher; and
1. Windows or macOS operating system.

## Submitter

This package provides a KeyShot plugin script that creates jobs for AWS Deadline Cloud using the [AWS Deadline Cloud client library][deadline-cloud-client]. Based on the loaded scene it determines the files required, allows the user to specify render options with KeyShot's render interface, and builds an [OpenJD template][openjd] that defines the workflow.

### Installing and using the KeyShot Submitter

1. Run `pip install deadline[gui]`
2. Copy the file `deadline-cloud-for-keyshot/src/deadline/keyshot_submitter/Submit to AWS Deadline Cloud.py` to the KeyShot scripts folder for your OS:
    - Windows (choose one): 
        - User scripts folder e.g. `%USERPROFILE%/Documents/KeyShot/Scripts`
        - System-wide scripts folder e.g. `%PROGRAMFILES%/KeyShot/Scripts`
    - Mac: `/Library/Application Support/KeyShot12/` or `/Library/Application Support/KeyShot/` depending on your version of Keyshot.
        - You can navigate to the folder by going to Finder, clicking the menu for Go -> Go to Folder, and typing in the folder path.
3. Launch KeyShot. The submitter can be launched within KeyShot from `Window > Scripting Console > Scripts > Submit to AWS Deadline Cloud > Run`

#### Submission Modes

There are two submission modes for the KeyShot submitter which a dialog will ask you to select from before opening the submitter UI.

1. Attach `The scene BIP file and all external files references`
    - The open scene file and all external files referenced within will be included
    as job attachments. The submitter will export the open scene to a
    KSP(KeyShot Package) which turns all file paths in the scene into relative
    paths and creates a flattened directory with all of the external files directly
    beside the scene file. The KSP is then unzipped, and the new scene file with
    the relative paths and all external files will be submitted with the job.
    The temporary directory used to save the KSP will be deleted after each
    submission.
1. Attach `Only the scene BIP file`
    - Only the open scene file will be attached to the submission. The expectation is that any
    external files referenced within the scene will be available to the workers
    through network storage or some other method.

## Adaptor

The KeyShot Adaptor implements the [OpenJD][openjd-adaptor-runtime] interface that allows render workloads to launch KeyShot and feed it commands. This gives the following benefits:
* a standardized render application interface,
* sticky rendering, where the application stays open between tasks

Jobs created by the submitter use this adaptor by default.

### Using the KeyShot Adaptor

1. Build and install `deadline-cloud-for-keyshot` on your workers
    - The adaptor can be installed by the standard python packaging mechanisms:
      ```sh
      $ pip install deadline-cloud-for-keyshot
      ```
    - After installation it can then be used as a command line tool:
      ```sh
      $ keyshot-openjd --help
      ```
2. KeyShot doesn't use PYTHONPATH and has a limited standard library so we explicitly load modules from the paths specified in the environment variable `DEADLINE_CLOUD_PYTHONPATH`. On your workers set the environment variable `DEADLINE_CLOUD_PYTHONPATH` to include paths to the following modules:
    - openjd
    - deadline
    - pywin32_system32
    - win32
    - Pythonwin

    e.g. On Windows running the worker in a virtual environment it might look something like:
    ```
    set DEADLINE_CLOUD_PYTHONPATH=C:/Users/<USER>/workervenv/Lib/site-packages/openjd;C:/Users/<USER>/workervenv/Lib/site-packages/deadline;C:/Users/<USER>/workervenv/Lib/site-packages/pywin32_system32;C:/Users/<USER>/workervenv/Lib/site-packages/win32;C:/Users/<USER>/workervenv/Lib/site-packages/win32/lib;C:/Users/<USER>/workervenv/Lib/site-packages/pythonwin
    ```
3. Configure licensing for KeyShot by setting the environment variable `LUXION_LICENSE_FILE=<PORT>:<ADDRESS>` to point towards the license server to use
    - e.g. `setx LUXION_LICENSE_FILE "2703@127.0.0.1"`
4. The adaptor expects the keyshot_headless executable is available through the PATH environment variable.
    - e.g. Local install: `setx PATH "%LOCALAPPDATA%\KeyShot\bin;%PATH%"`
    - e.g. System install: `setx PATH "%PROGRAMFILES%\KeyShot\bin;%PATH%"`
    - Verify by running `keyshot_headless -h`

## Versioning

This package's version follows [Semantic Versioning 2.0](https://semver.org/), but is still considered to be in its 
initial development, thus backwards incompatible versions are denoted by minor version bumps. To help illustrate how
versions will increment during this initial development stage, they are described below:

1. The MAJOR version is currently 0, indicating initial development. 
2. The MINOR version is currently incremented when backwards incompatible changes are introduced to the public API. 
3. The PATCH version is currently incremented when bug fixes or backwards compatible changes are introduced to the public API. 

## Security

See [CONTRIBUTING](https://github.com/aws-deadline/deadline-cloud-for-keyshot/blob/release/CONTRIBUTING.md#security-issue-notifications) for more information.

## Telemetry

See [telemetry](https://github.com/aws-deadline/deadline-cloud-for-keyshot/blob/release/docs/telemetry.md) for more information.

## License

This project is licensed under the Apache-2.0 License.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "deadline-cloud-for-keyshot",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Amazon Web Services",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/0d/92/81e8ed44a3af117b6679fb089a7bded052adab90dc50f49a92d67cb209c3/deadline_cloud_for_keyshot-0.2.2.tar.gz",
    "platform": null,
    "description": "# AWS Deadline Cloud for KeyShot\n\n[![pypi](https://img.shields.io/pypi/v/deadline-cloud-for-keyshot.svg?style=flat)](https://pypi.python.org/pypi/deadline-cloud-for-keyshot)\n[![python](https://img.shields.io/pypi/pyversions/deadline-cloud-for-keyshot.svg?style=flat)](https://pypi.python.org/pypi/deadline-cloud-for-keyshot)\n[![license](https://img.shields.io/pypi/l/deadline-cloud-for-keyshot.svg?style=flat)](https://github.com/aws-deadline/deadline-cloud-for-keyshot/blob/mainline/LICENSE)\n\nAWS Deadline Cloud for KeyShot is a python package that allows users to create [AWS Deadline Cloud][deadline-cloud] jobs from within KeyShot. Using the [Open Job Description (OpenJD) Adaptor Runtime][openjd-adaptor-runtime] this package also provides a command line application that adapts KeyShot's command line interface to support the [OpenJD specification][openjd].\n\n[deadline-cloud]: https://docs.aws.amazon.com/deadline-cloud/latest/userguide/what-is-deadline-cloud.html\n[deadline-cloud-client]: https://github.com/aws-deadline/deadline-cloud\n[openjd]: https://github.com/OpenJobDescription/openjd-specifications/wiki\n[openjd-adaptor-runtime]: https://github.com/OpenJobDescription/openjd-adaptor-runtime-for-python\n[openjd-adaptor-runtime-lifecycle]: https://github.com/OpenJobDescription/openjd-adaptor-runtime-for-python/blob/release/README.md#adaptor-lifecycle\n\n## Compatibility\n\nThis library requires:\n1. KeyShot 2023 or 2024\n1. Python 3.9 or higher; and\n1. Windows or macOS operating system.\n\n## Submitter\n\nThis package provides a KeyShot plugin script that creates jobs for AWS Deadline Cloud using the [AWS Deadline Cloud client library][deadline-cloud-client]. Based on the loaded scene it determines the files required, allows the user to specify render options with KeyShot's render interface, and builds an [OpenJD template][openjd] that defines the workflow.\n\n### Installing and using the KeyShot Submitter\n\n1. Run `pip install deadline[gui]`\n2. Copy the file `deadline-cloud-for-keyshot/src/deadline/keyshot_submitter/Submit to AWS Deadline Cloud.py` to the KeyShot scripts folder for your OS:\n    - Windows (choose one): \n        - User scripts folder e.g. `%USERPROFILE%/Documents/KeyShot/Scripts`\n        - System-wide scripts folder e.g. `%PROGRAMFILES%/KeyShot/Scripts`\n    - Mac: `/Library/Application Support/KeyShot12/` or `/Library/Application Support/KeyShot/` depending on your version of Keyshot.\n        - You can navigate to the folder by going to Finder, clicking the menu for Go -> Go to Folder, and typing in the folder path.\n3. Launch KeyShot. The submitter can be launched within KeyShot from `Window > Scripting Console > Scripts > Submit to AWS Deadline Cloud > Run`\n\n#### Submission Modes\n\nThere are two submission modes for the KeyShot submitter which a dialog will ask you to select from before opening the submitter UI.\n\n1. Attach `The scene BIP file and all external files references`\n    - The open scene file and all external files referenced within will be included\n    as job attachments. The submitter will export the open scene to a\n    KSP(KeyShot Package) which turns all file paths in the scene into relative\n    paths and creates a flattened directory with all of the external files directly\n    beside the scene file. The KSP is then unzipped, and the new scene file with\n    the relative paths and all external files will be submitted with the job.\n    The temporary directory used to save the KSP will be deleted after each\n    submission.\n1. Attach `Only the scene BIP file`\n    - Only the open scene file will be attached to the submission. The expectation is that any\n    external files referenced within the scene will be available to the workers\n    through network storage or some other method.\n\n## Adaptor\n\nThe KeyShot Adaptor implements the [OpenJD][openjd-adaptor-runtime] interface that allows render workloads to launch KeyShot and feed it commands. This gives the following benefits:\n* a standardized render application interface,\n* sticky rendering, where the application stays open between tasks\n\nJobs created by the submitter use this adaptor by default.\n\n### Using the KeyShot Adaptor\n\n1. Build and install `deadline-cloud-for-keyshot` on your workers\n    - The adaptor can be installed by the standard python packaging mechanisms:\n      ```sh\n      $ pip install deadline-cloud-for-keyshot\n      ```\n    - After installation it can then be used as a command line tool:\n      ```sh\n      $ keyshot-openjd --help\n      ```\n2. KeyShot doesn't use PYTHONPATH and has a limited standard library so we explicitly load modules from the paths specified in the environment variable `DEADLINE_CLOUD_PYTHONPATH`. On your workers set the environment variable `DEADLINE_CLOUD_PYTHONPATH` to include paths to the following modules:\n    - openjd\n    - deadline\n    - pywin32_system32\n    - win32\n    - Pythonwin\n\n    e.g. On Windows running the worker in a virtual environment it might look something like:\n    ```\n    set DEADLINE_CLOUD_PYTHONPATH=C:/Users/<USER>/workervenv/Lib/site-packages/openjd;C:/Users/<USER>/workervenv/Lib/site-packages/deadline;C:/Users/<USER>/workervenv/Lib/site-packages/pywin32_system32;C:/Users/<USER>/workervenv/Lib/site-packages/win32;C:/Users/<USER>/workervenv/Lib/site-packages/win32/lib;C:/Users/<USER>/workervenv/Lib/site-packages/pythonwin\n    ```\n3. Configure licensing for KeyShot by setting the environment variable `LUXION_LICENSE_FILE=<PORT>:<ADDRESS>` to point towards the license server to use\n    - e.g. `setx LUXION_LICENSE_FILE \"2703@127.0.0.1\"`\n4. The adaptor expects the keyshot_headless executable is available through the PATH environment variable.\n    - e.g. Local install: `setx PATH \"%LOCALAPPDATA%\\KeyShot\\bin;%PATH%\"`\n    - e.g. System install: `setx PATH \"%PROGRAMFILES%\\KeyShot\\bin;%PATH%\"`\n    - Verify by running `keyshot_headless -h`\n\n## Versioning\n\nThis package's version follows [Semantic Versioning 2.0](https://semver.org/), but is still considered to be in its \ninitial development, thus backwards incompatible versions are denoted by minor version bumps. To help illustrate how\nversions will increment during this initial development stage, they are described below:\n\n1. The MAJOR version is currently 0, indicating initial development. \n2. The MINOR version is currently incremented when backwards incompatible changes are introduced to the public API. \n3. The PATCH version is currently incremented when bug fixes or backwards compatible changes are introduced to the public API. \n\n## Security\n\nSee [CONTRIBUTING](https://github.com/aws-deadline/deadline-cloud-for-keyshot/blob/release/CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## Telemetry\n\nSee [telemetry](https://github.com/aws-deadline/deadline-cloud-for-keyshot/blob/release/docs/telemetry.md) for more information.\n\n## License\n\nThis project is licensed under the Apache-2.0 License.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "AWS Deadline Cloud for KeyShot",
    "version": "0.2.2",
    "project_urls": {
        "Homepage": "https://github.com/aws-deadline/deadline-cloud-for-keyshot",
        "Source": "https://github.com/aws-deadline/deadline-cloud-for-keyshot"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "83d1f017b059ec0d7c19e0f4ac8efa6ba56f38183d36a1f96091c2a6a4df77c7",
                "md5": "ed296e8c2c0bae0158ae500f4189a5af",
                "sha256": "cc83957d8a53c3af295c2f4f09ef985563b99f9d2baebb8dac95dfc977cac880"
            },
            "downloads": -1,
            "filename": "deadline_cloud_for_keyshot-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ed296e8c2c0bae0158ae500f4189a5af",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 25700,
            "upload_time": "2024-10-16T17:58:06",
            "upload_time_iso_8601": "2024-10-16T17:58:06.714126Z",
            "url": "https://files.pythonhosted.org/packages/83/d1/f017b059ec0d7c19e0f4ac8efa6ba56f38183d36a1f96091c2a6a4df77c7/deadline_cloud_for_keyshot-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0d9281e8ed44a3af117b6679fb089a7bded052adab90dc50f49a92d67cb209c3",
                "md5": "cef46f3f5745e227fe88b65c88a197f3",
                "sha256": "38d5e0faa52c893451dc1b40dbe542f97b262ea0c26640e19dca65be15a9aa0d"
            },
            "downloads": -1,
            "filename": "deadline_cloud_for_keyshot-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "cef46f3f5745e227fe88b65c88a197f3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 20829,
            "upload_time": "2024-10-16T17:58:08",
            "upload_time_iso_8601": "2024-10-16T17:58:08.032841Z",
            "url": "https://files.pythonhosted.org/packages/0d/92/81e8ed44a3af117b6679fb089a7bded052adab90dc50f49a92d67cb209c3/deadline_cloud_for_keyshot-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-16 17:58:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aws-deadline",
    "github_project": "deadline-cloud-for-keyshot",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "deadline-cloud-for-keyshot"
}
        
Elapsed time: 0.99874s