Shotgun provides a simple Python-based API for accessing Shotgun and integrating with other tools. This is the official API that is maintained by Shotgun Software ([email protected])
GitHub is the new official location for the latest Shotgun Python API. We will no longer be including it in our code tree that is deployed to your servers or posting it for download from our support site. So update your bookmarks!
- Shotgun server v1.8.0 or higher. Note that some API features are only available in later Shotgun server versions.
- Python v2.4 - v2.7. (We do have plans to eventually support Python 3)
To use Shotgun's Python API module, you need to place it in one of the directories specified by the environment variable PYTHONPATH. For more information on PYTHONPATH and using modules in Python, see http://docs.python.org/tutorial/modules.html
Tutorials and detailed documentation about the Python API are available on the Shotgun Support website. Some useful direct links within this section are below:
v3.0.6 - 2010 Jan 25
- optimization: don't request paging_info unless required (and server support is available)
v3.0.5 - 2010 Dec 20
- officially remove support for old api3_preview controller
- find(): allow requesting a specific page of results instead of returning them all at once
- add support for "session_uuid" parameter for communicating with a web browser session.
v3.0.4 - 2010 Nov 22
- fix for issue where create() method was returning list type instead of dictionary
- support new style classes (thanks to Alex Schworer https://github.com/schworer)
v3.0.3 - 2010 Nov 12
- add support for local files. Injects convenience info into returned hash for local file links
- add support for authentication through http proxy server
v3.0.2 - 2010 Aug 27
- add revive() method to revive deleted entities
v3.0.1 - 2010 May 10
- find(): default sorting to ascending, if not set (instead of requiring ascending/descending)
- upload() and upload_thumbnail(): pass auth info through
v3.0 - 2010 May 5
- non-beta!
- add batch() method to do multiple create, update, and delete requests in one request to the server (requires Shotgun server to be v1.13.0 or higher)
v3.0b8 - 2010 February 19
- fix python gotcha about using lists / dictionaries as defaults. See: http://www.ferg.org/projects/python_gotchas.html#contents_item_6
- add schema_read method
v3.0b7 - 2009 November 30
- add additional retries for connection errors and a catch for broken pipe exceptions
v3.0b6 - 2009 October 20
- add support for HTTP/1.1 keepalive, which greatly improves performance for multiple requests
- add more helpful error if server entered is not http or https
- add support assigning tags to file uploads (for Shotgun version >= 1.10.6)
v3.0b5 - 2009 Sept 29
- fixed deprecation warnings to raise Exception class for python 2.5
v3.0b4 - 2009 July 3
- made upload() and upload_thumbnail() methods more backwards compatible
- changes to find_one():
- now defaults to no filter_operator
v3.0b3 - 2009 June 24
- fixed upload() and upload_thumbnail() methods
- added download_attchment() method
- added schema_* methods for accessing entities and fields
- added support for http proxy servers
- added version string
- removed RECORDS_PER_PAGE global (can just set records_per_page on the Shotgun object after initializing it)
- removed api_ver from the constructor, as this class is only designed to work with api v3