Skip to main content

Pythonic Shotgrid API wrapper

Project description

shotgrid

This is an object-oriented wrapper around the shotun api3 Python API, that includes classes for each shotgrid entity type with convenience methods.

Installation

The easiest way to install:

$ pip install -U shotgrid

Alternatively, use distman to dist to a deployment area using options defined in the dist.json file:

$ distman [-d]

Configuration

Default settings are stored in an envstack environment stack file. They can be stored in the default stack, or in a namespaced shotgrid.env stack file to keep settings separate.

Start by renaming or copying the example_shotgrid.env file:

$ cp example_shotgrid.env shotgrid.env

Then edit it's contents with the appropriate values:

SG_SCRIPT_URL: https://example.shotgunstudio.com
SG_SCRIPT_NAME: script_name
SG_SCRIPT_KEY: XXXXXXXXXXXX

Encrypted keys

To use encrypted keys in the env file, see the encryption instructions on the envstack README here.

SG_SCRIPT_KEY: !encrypt XXXXXXXXXXXX
SG_SCRIPT_NAME: !encrypt XXXXXXXXXXXX

Using AES-GCM or Fernet encryption, keys can be safely stored.

Usage

Basic usage:

>>> from shotgrid import Shotgrid
>>> sg = Shotgrid()
>>> show = sg.get_projects("Demo: Animation")[0]
>>> shot = show.get_shots("bunny_080_0200")[0]
>>> tasks = shot.get_tasks()

Requests can be strung together:

>>> sg.get_projects("Demo: Animation")[0].get_sequences("080")[0].get_shots()
[<Shot "bunny_080_0100">, <Shot "bunny_080_0200">, <Shot "bunny_080_0300">]

Core API

The Shotgrid class is a subclass of shotgrid_api3.Shotgrid, so you can drop down to the core API at any time or from any object:

>>> sg.find(filters, fields)
>>> shot.api().find("Task", [["id", "is", 12345]])
[{'type': 'Task', 'id': 12345}]

Download Versions

>>> version = sg.get_projects(show)[0].get_shots(shot)[0].get_versions()[0]
>>> version.movie
<Movie "bunny_080_0200_v001.mov">
>>> version.movie.download("/var/tmp")

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

shotgrid-0.3.0.tar.gz (12.6 kB view details)

Uploaded Source

File details

Details for the file shotgrid-0.3.0.tar.gz.

File metadata

  • Download URL: shotgrid-0.3.0.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for shotgrid-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2d5ef879820db194c89e4fe5d51e84682f84c28b8408f0e6b6f93d4edcb7bda7
MD5 e575a04b91320a75df4b1084a65b14c8
BLAKE2b-256 a068c77dcda0bedaad0e422bd2760001a5dca3e6a6eb07eeafe49e74aca36e88

See more details on using hashes here.

Supported by

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