Python API library for the ThirdLight image management system

imaging, asset_management, thirdlight, api
pip install thirdlight==0.1.0


Python client for ThirdLight

The ThirdLight Image Management System ( comes with a number of interfaces that allow programmatic control and querying of the asset library. There is a SOAP API which is neither their preferred library, nor the most feature-full, nor particularly elegant for Pythonistas.

This API wraps the JSON API to provide a convenient, pythonic interface.

You can both access any ThirdLight API method (as described in the module docstrings) and use convenience methods for certain operations.

You will need to create an API key to use with this API. Do this via the ThirdLight web interface.

Example usage:

from thirdlight import ThirdLight
tl = ThirdLight('', 'MYAPIKEY....')

# upload a file
imageId = tl.upload_image("/path/to/image",
                          caption="Beautiful sunset",
                          keywords=["sunshine", "beach", "palmtrees"])

file_url = tl.Files_GetAssetDetails(assetId=imageId).panoramicUrl

The module logs to the python root logger, largely to INFO.


With pip:

> pip install thirdlight

From a GIT checkout:

> python install


If you have a GIT checkout of this repository you can run the tests as follows:

  • create and activate a virtualenv for the project
  • pip install -r test_requirements
  • ./

This will run all the unit tests, create a coverage report (see htmlcov/index.html) and also PEP8 check the code (see pep8.txt).


If you like to use Jenkins you may like to make use of our build script If executed by Jenkins as a build step you can then ingest the output as follows:

  • Cobertura plugin can read coverage.xml
  • xUnit plugin can read JUnit formatted nosetests.xml
  • violations plugin: add pep8.txt to the pep8 field

Copyright |copy| 2012 ReThought Ltd, all rights reserved