Skip to main content

Multi-purpose library and command line tool that implements functionality to support applications using AWS Deadline Cloud.

Project description

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.

Compatibility

This library requires:

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

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', ...},]}

Job attachments

Job attachments enable you to transfer files between your workstations and AWS Deadline Cloud, by using Amazon S3 buckets as content-addressed storage in your AWS account.

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

Job bundles

At 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 - lists file inputs and outputs,
  2. a parameter_values.yaml - contains the selected values for the job template's parameters,
  3. and 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).

For more information on jobs and job bundles, see AWS Deadline Cloud jobs.

Configuration

You can see the current configuration by running:

$ deadline config show

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

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

$ deadline config --help

Or you can manage settings by a graphical 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

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

See CONTRIBUTING for information on reporting issues, requesting features, and developer information.

Security

See security issue notifications for more information.

Telemetry

See telemetry for more information.

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.

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

deadline-0.48.1.tar.gz (178.8 kB view details)

Uploaded Source

Built Distribution

deadline-0.48.1-py3-none-any.whl (220.3 kB view details)

Uploaded Python 3

File details

Details for the file deadline-0.48.1.tar.gz.

File metadata

  • Download URL: deadline-0.48.1.tar.gz
  • Upload date:
  • Size: 178.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for deadline-0.48.1.tar.gz
Algorithm Hash digest
SHA256 2bed11efb83d448ce4495a5daf2e2c2f716e6cdccb653b726de5bbf6dfbc421c
MD5 beb22225c01b5e7c82851a2b68e17306
BLAKE2b-256 45f93478350346f26fdd30ba5ab863ee6448405bbd47d39d6719767e90e3dded

See more details on using hashes here.

File details

Details for the file deadline-0.48.1-py3-none-any.whl.

File metadata

  • Download URL: deadline-0.48.1-py3-none-any.whl
  • Upload date:
  • Size: 220.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for deadline-0.48.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d1b64024a07d0f9bbe2e82514fdd80be3f854e3975f2c5dd8b2d4196e2725f59
MD5 cb12925ecee2c605d118c870bef06be9
BLAKE2b-256 b43dda42f7f5b328c199b66c51b9c3beb1b9e38bf8cbabbb0aab0951aa9e39ff

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page