Skip to main content

AWS Deadline Cloud Client

pypi python license

AWS Deadline Cloud client is a multi-purpose python library and command line tool for interacting with and submitting Open Job Description (OpenJD) jobs to AWS Deadline Cloud.

To support building workflows on top of AWS Deadline Cloud, it implements its own user interaction, job creation, file upload/download, and other useful helpers around the service's API. It can function as a pipeline tool, a standalone GUI application, or even be embedded within other applications' runtimes.

Notable features include:

  • A command-line interface with subcommands for querying your AWS Deadline Cloud resources, and submitting jobs to your AWS Deadline Cloud Farm.
  • A library of functions that implement AWS Deadline Cloud's Job Attachments functionality.
  • A library of functions for creating a job submission UI within any content creation tool that supports Python 3.8+ based plugins and the Qt GUI framework.

Compatibility

This library requires:

  1. Python 3.8 through 3.13; and
  2. Linux, Windows, or macOS operating system.

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:

  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.

Contributing

We welcome all contributions. Please see CONTRIBUTING.md for guidance on how to contribute. Please report issues such as bugs, inaccurate or confusing information, and so on, by making feature requests in the issue tracker. We encourage code contributions in the form of pull requests.

Getting Started

The AWS Deadline Cloud client can be installed by the standard python packaging mechanisms:

$ pip install deadline

or if you want the optional gui dependencies:

$ pip install "deadline[gui]"

Usage

After installation it can then be used as a command line tool:

$ deadline farm list
- farmId: farm-1234567890abcdefg
  displayName: my-first-farm

or as a python library:

from deadline.client import api
api.list_farms()
# {'farms': [{'farmId': 'farm-1234567890abcdefg', 'displayName': 'my-first-farm', ...},]}

For job-related files and data, AWS Deadline Cloud supports either transferring files to AWS using job attachments or reading files from network storage that is shared between both your local workstation and your farm.

Job attachments

Job attachments enable you to transfer files between your workstations and AWS Deadline Cloud using Amazon S3 buckets as content-addressed storage in your AWS account. The use of a content-addressed storage means that a file will never need to be uploaded again once it has been uploaded once.

See job attachments for a more in-depth look at how files are uploaded, stored, and retrieved.

Shared storage and storage profiles

Jobs can reference files that are stored on shared network storage. The Deadline Client uses a storage profile to determine which paths on the workstation are part of the network storage and do not need to be transferred using job attachments.

To use an existing storage profile with the Deadline Client, you can configure your default storage profile via CLI:

deadline config set settings.storage_profile_id sp-10b2e48ad6ac4fc88595dfcbef6271f2

Or with the configuration GUI:

deadline config gui

Shared storage is possible with customer-managed fleets (CMF) but not service-managed fleets (SMF). See shared storage for more information.

Job Bundles

A job bundle is one of the tools that you can use to define jobs for AWS Deadline Cloud. They group an Open Job Description (OpenJD) template with additional information such as files and directories that your jobs use with job attachments. You can use this package's command-line interface and/or its Python interface to use a job bundle to submit jobs for a queue to run. Please see the Job Bundles section of the AWS Deadline Cloud Developer Guide for detailed information on job bundles.

At a minimum, a job bundle is a folder that contains an OpenJD template as a file named template.json or template.yaml. However, it can optionally include:

  1. An asset_references.yaml file - lists file inputs and outputs.
  2. A parameter_values.yaml file - contains the selected values for the job template's parameters.
  3. Any number of additional files required for the job.

For example job bundles, visit the samples repository.

To submit a job bundle, you can run

$ deadline bundle submit <path/to/bundle>

or if you have the optional GUI components installed, you can load up a job bundle for submission by running:

$ deadline bundle gui-submit --browse

On submission, a job bundle will be created in the job history directory (default: ~/.deadline/job_history).

Configuration

You can see the current configuration by running:

$ deadline config show

and change the settings by running the associated get, set and clear commands.

To see a list of settings that can be configured, run:

$ deadline config --help

Or you can manage settings by a graphical user-interface if you have the optional GUI dependencies:

$ deadline config gui

By default, configuration of AWS Deadline Cloud is provided at ~/.deadline/config, however this can be overridden by the DEADLINE_CONFIG_FILE_PATH environment variable.

Authentication

In addition to the standard AWS credential mechanisms (AWS Profiles, instance profiles, and environment variables), AWS Deadline Cloud monitor credentials are also supported.

To view the currently configured credentials authentication status, run:

$ deadline auth status
    Profile Name: (default)
          Source: HOST_PROVIDED
          Status: AUTHENTICATED
API Availability: True

If the currently selected AWS Profile is set-up to use AWS Deadline Cloud monitor credentials, you can authenticate by logging in:

$ deadline auth login

and removing them by logging out:

$ deadline auth logout

Code of Conduct

This project has adopted the Amazon Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opensource-codeofconduct@amazon.com with any additional questions or comments.

Security Issue Notifications

We take all security reports seriously. When we receive such reports, we will investigate and subsequently address any potential vulnerabilities as quickly as possible. If you discover a potential security issue in this project, please notify AWS/Amazon Security via our vulnerability reporting page or directly via email to AWS Security. Please do not create a public GitHub issue in this project.

Telemetry

See telemetry for more information.

License

This project is licensed under the Apache-2.0 License.

Optional third party dependencies - GUI

N.B.: Although this repository is released under the Apache-2.0 license, its optional GUI feature uses the third party Qt and PySide projects. The Qt and PySide projects' licensing includes the LGPL-3.0 license.

Metadata

Release files for deadline 0.49.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deadline 0.49.4
File Size Uploaded
deadline-0.49.4.tar.gz 202.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for deadline 0.49.4
File Interpreter ABI Platform
deadline-0.49.4-py3-none-any.whl Python 3 none any Details

Total release size: 451.8 kB

Release files / deadline-0.49.4.tar.gz

Download URL deadline-0.49.4.tar.gz
Size 202.2 kB
Tags Source
SHA-256 checksum
How to use checksums
54f4076a42bd10c306e60313cdd544352fadf0c8aeb7ecda66de1e059886ee05
BLAKE2b-256 checksum
How to use checksums
3e2d593ec9dccdb532429fd0492b3620ba9abaa8aeb5e5d2f7ad3a5dec71ea52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 13, 2025.

Transparency log

Release files / deadline-0.49.4-py3-none-any.whl

Download URL deadline-0.49.4-py3-none-any.whl
Size 249.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
55a9be84c021e0a4244eae7ff5e1f0d4dd8d2f1b831c0a3a43a34d112111d8ce
BLAKE2b-256 checksum
How to use checksums
6b9623123f835f183d20deef911ff18f4611f881037808fcaa12f79f413c80ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 13, 2025.

Transparency log

Release history Release notifications | RSS feed

0.60.7

2 release files

0.60.5

2 release files

0.60.4

2 release files

0.60.3

2 release files

0.60.2

2 release files

0.60.1

2 release files

0.59.1

2 release files

0.59.0

2 release files

0.58.0

2 release files

0.57.2

2 release files

0.57.1

2 release files

0.57.0

2 release files

0.56.1

2 release files

0.56.0

2 release files

0.54.3

2 release files

0.54.1

2 release files

0.54.0

2 release files

0.53.2

2 release files

0.53.1

2 release files

0.53.0

2 release files

0.52.1

2 release files

0.52.0

2 release files

0.51.0

2 release files

0.49.8

2 release files

0.49.7

2 release files

0.49.5

2 release files

This release

0.49.4 This release

2 release files

0.49.2

2 release files

0.49.1

2 release files

0.49.0

2 release files

0.48.9

2 release files

0.48.8

2 release files

0.48.6

2 release files

0.48.5

2 release files

0.48.3

2 release files

0.48.2

2 release files

0.48.0

2 release files

0.47.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page