AWS Deadline Cloud for KeyShot
Project description
AWS Deadline Cloud for KeyShot
AWS Deadline Cloud for KeyShot is a python package that allows users to create AWS Deadline Cloud jobs from within KeyShot. Using the Open Job Description (OpenJD) Adaptor Runtime this package also provides a command line application that adapts KeyShot's command line interface to support the OpenJD specification.
Compatibility
This library requires:
- KeyShot 2023
- Python 3.9 or higher; and
- Windows, or a 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. 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 that defines the workflow.
Using the KeyShot Submitter
- Install deadline-cloud and PySide2
- Copy or link the file
deadline-cloud-for-keyshot/keyshot_script/DeadlineCloudSubmitter.py
to the KeyShot scripts folder.- e.g. On Windows
C:/Users/<USER>/Documents/KeyShot 12/Scripts
- e.g. On Windows
- Set the following environment variables
- Set the environment variable
DEADLINE_PYTHON
as the path to the Python installation where deadline-cloud and PySide2 were installed in step 1.- e.g. On Windows if using Python 3.10 it might be
set DEADLINE_PYTHON=C:/Users/<USER>/AppData/Local/Programs/Python/Python310/python
- e.g. On Windows if using Python 3.10 it might be
- Set the environment variable
DEADLINE_KEYSHOT
as the path to the<PATH TO>/deadline-cloud-for-keyshot/src/deadline/keyshot_submitter
folder- e.g. On Windows if the source was on the user's desktop it might be
set DEADLINE_KEYSHOT=C:/Users/<USER>/Desktop/deadline-cloud-for-keyshot/src/deadline/keyshot_submitter
- e.g. On Windows if the source was on the user's desktop it might be
- Set the environment variable
- Launch KeyShot with the environment variables from step 3. set.
- The submitter can be launched within KeyShot from
Windows > Scripting Console > Submit to AWS Deadline Cloud > Run
Adaptor
The KeyShot Adaptor implements the OpenJD 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
-
Build and install
deadline-cloud-for-keyshot
on your workers- The adaptor can be installed by the standard python packaging mechanisms:
$ pip install deadline-cloud-for-keyshot
- After installation it can then be used as a command line tool:
$ keyshot-openjd --help
- The adaptor can be installed by the standard python packaging mechanisms:
-
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 variableDEADLINE_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
-
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"
- e.g.
-
The adaptor expects the keyshot_headless executable is available through the PATH environment variable.
- e.g. Local install:
setx PATH "%LOCALAPPDATA%\KeyShot12\bin;%PATH%"
- e.g. System install:
setx PATH "%PROGRAMFILES%\KeyShot12\bin;%PATH%"
- Verify by running
keyshot_headless -h
- e.g. Local install:
Versioning
This package's version follows Semantic Versioning 2.0, 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:
- The MAJOR version is currently 0, indicating initial development.
- The MINOR version is currently incremented when backwards incompatible changes are introduced to the public API.
- The PATCH version is currently incremented when bug fixes or backwards compatible changes are introduced to the public API.
Security
See CONTRIBUTING for more information.
Telemetry
See telemetry for more information.
License
This project is licensed under the Apache-2.0 License.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for deadline_cloud_for_keyshot-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 349f7965d4bdb1a5d6e763d97de980fcf231a74aa066074c07efea2335dc7f85 |
|
MD5 | 57edb31b6198d8a356cf22ec7e387475 |
|
BLAKE2b-256 | 73844c61fcb623d603f4362a8db06fd076dc635513e8a1ea4234723e2002a8cf |
Hashes for deadline_cloud_for_keyshot-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b10d5b1bd13e288640f2e258d0d67b191e43b025f9d95c2dfd2b8d9da89851d |
|
MD5 | a331c81a5d237d7627607cc6f6e6eda3 |
|
BLAKE2b-256 | 8ff0a9b997d2c53fbdfc9250cd86ef0f16c208f822bbf48b96395ceea4955621 |