Skip to content

Releases: shotgunsoftware/python-api

v3.0.32

22 Sep 05:40
Compare
Choose a tag to compare

New Documentation

We've finally moved our documentation to sphinx. All of our existing documentation on the Github wiki has been ported over (and updated in many places). In addition, all of the public methods in the code are now documented with details and example code (where possible). We hope you enjoy the update (we already do!).

The official documentation can now be found at http://developer.shotgunsoftware.com/python-api/.

The changelog has been removed from the README and put in it's own HISTORY file. It is also now part of the documentation site.

Optimized mimetypes module import

We now always import the bundled mimetypes module on versions of Python where it's broken. Previously we were doing unnecessary checks before importing.

v3.0.31

19 May 18:32
Compare
Choose a tag to compare

Additional Filter Presets

  • An optional additional_filter_presets argument has been added to find() and find_one methods. This allows access to specific pre-formed queries that have been optimized on the Shotgun server. For example: getting the latest Version for a list of Shots.
  • Documentation for additional filter presets: Additional Filter Presets

v3.0.30

25 Apr 20:27
Compare
Choose a tag to compare

Multi-entity update options, product-specific authorization, and explicit file closing

  • Adds an optional dictionary parameter multi_entity_update_modes to use add, remove, and set modes when calling update() on multi-entity fields. This allows for updating multi-entity fields without the need for pulling down the field's data and pushing back up the entire set. For example, when specifying an addition to Sequence.shots, we could specify:

    sg.update("Sequence", 1234, {"shots":[{"type":"Shot", "id":123}]}, 
               multi_entity_update_modes={"shots":"add"})
    
  • Adds explicit file handler closing to download_attachment.

  • Adds basic find() ordering support to mockgun.

  • Allows for product specific authorization parameters.

v3.0.29

07 Mar 23:32
Compare
Choose a tag to compare

Reverting default thumbnail upload field change

  • Reverting a change to the default thumbnail upload field due to issues with client wrappers.

v3.0.28

03 Mar 20:11
Compare
Choose a tag to compare

Serializable Timestamps

  • Refactoring scoping of the sgtimezone library so that dates returned from Shotgun are serializable.

v3.0.27

18 Feb 15:51
Compare
Choose a tag to compare

Various fixes

  • Make sure HTTP proxy authentication works with the @ character in a password.
  • Smarter uploading of thumbnails and filmstrips with the upload() method.
  • Make sure sudo authentication test works with Shotgun versions after 6.3.10
  • Improve Travis build integration of the Python-API to run the full suite of API tests instead of just the unit and client tests.

v3.0.26

01 Feb 22:50
Compare
Choose a tag to compare

Testing Configuration Update

  • Updating testing framework to use environment variables in conjunction with existing example_config file so that commits and pull requests are automatically run on travis-ci.
  • Fix to prevent stripping out case-sensitivity of a URL if the user passes their credentials to config.server as an authrization header.

v3.0.25

13 Jan 06:17
Compare
Choose a tag to compare

Change in behavior

We are updating our hosted server certificates to more secure ones signed with SHA-2. Some older versions of Python will have issues with this change as they do not support SHA-2 encryption. In order to try and prevent scripts from breaking, when the API encounters a version of Python that is incompatible with SHA-2, it will automatically turn off certificate verification and try the request again. If the validation still fails for some reason, the error will be raised, otherwise the request succeeds and validation will remain off for the remaining life of the connection.

This behavior of having certificate validation off, is actually the default in Python versions < v2.7.9. Up to this point we have been electing to enhance the default level of security. Your connection is still encrypted when certificate validation is off, but the server identity cannot be verified.

Logging warnings

When the connection falls back to not validating the certificate, a warning message is generated in the logs:

Warning: shotgun_api3 : SSLHandshakeError: this Python installation is incompatible with certificates signed with SHA-2. Disabling certificate validation. For more information, see http://blog.shotgunsoftware.com/2016/01/important-ssl-certificate-renewal-and.html

SHOTGUN_FORCE_CERTIFICATE_VALIDATION environment variable support

There is also support for the SHOTGUN_FORCE_CERTIFICATE_VALIDATION environment variable which when set (the value does not matter), will prevent disabling certificate verification and will instead raise an exception.

SSL info added to user-agent

Adds info showing the OpenSSL version (if available) and whether certificate validation is enabled or not, to the user-agent string:

ssl OpenSSL 1.0.2d 9 Jul 2015 (no-validate) when validation is disabled
ssl OpenSSL 1.0.2d 9 Jul 2015 (validate) when validation is enabled
ssl OpenSSL unknown (validate) when the ssl version cannot be determined (< Python 2.7)

v3.0.23

26 Oct 18:40
Compare
Choose a tag to compare

Various fixes

v3.0.22

09 Sep 08:39
Compare
Choose a tag to compare

Added support for activity stream, global search and note thread access

  • Added a new method text_search(), which allows an API client to access the Shotgun global search and auto completer.
  • Added a new method activity_stream_read(), which allows an API client to access the activity stream for a given Shotgun entity.
  • Added a new method note_thread_read(), which allows an API client to download an entire note conversation, including replies and attachments, using a single API call.
  • Added an experimental mockgun module (in the lib submodule), which can be used to emulate the Shotgun API, for example inside unit test rigs.
  • Improved existing docstrings, added some missing docstrings, fixed some spelling and grammar issues.
  • Minor adjustments to existing unit tests to improve encapsulation.