A Python-based API for accessing Shotgun.
Python C
Latest commit 0a4cf45 Feb 22, 2017 @jfboismenu jfboismenu For #34923, desktop site bootstrap
- Introduces a schema cache which speeds up Mockgun-based unit tests tremendously.
- shotgun_api.lib.mockgun is now a folder and not just a file.
Closes #135


Shotgun Python API

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 (support@shotgunsoftware.com)

The latest version can always be found at http://github.com/shotgunsoftware/python-api

Minimum Requirements

  • Shotgun server v2.4.12+.
  • Python v2.4 - v2.7.

High Performance Requirements


Tutorials and detailed documentation about the Python API are available at http://developer.shotgunsoftware.com/python-api).

Some useful direct links:


You can see the full history of the Python API on the documentation site.


Integration and unit tests are provided.

Build Status

  • All tests require the nose unit testing tools, and a tests/config file (you can copy an example from tests/example_config).
  • Tests can be run individually like this: nosetest tests/test_client.py
  • test_client and tests_unit use mock server interaction and do not require a Shotgun instance to be available (no modifications to tests/config are necessary).
  • test_api and test_api_long do require a Shotgun instance, with a script key available for the tests. The server and script user values must be supplied in the tests/config file. The tests will add test data to your server based on information in your config. This data will be manipulated by the tests, and should not be used for other purposes.
  • To run all of the tests, use the shell script run-tests.