Skip to content

Releases: sylikc/pyexiftool

v0.5.6

22 Oct 23:27
Compare
Choose a tag to compare

Released to PyPI

  • New Feature: ExifTool.set_json_loads() used to override built-in json.loads() call in ExifTool.execute_json(), so that users can use their JSON library of choice, or pass additional parameters to the call
  • Changed: ujson is no longer automatically used when available. Call set_json_loads(ujson.loads) to enable manually.
  • Docs: Updated FAQ set_json_loads with use case of ExifTool.set_json_loads(). The FAQ documents in detail the issue reported at #76 which necessitated the new feature.

v0.5.5

30 Dec 23:25
Compare
Choose a tag to compare

Released to PyPI

  • (No functional changes to the API or methods)
  • Update: Huge speed increase to the ExifTool.execute() method especially when lots of data is being returned by the exiftool subprocess. 10x or bigger improvements based on benchmarks in the reported issue #60

v0.5.4

28 Aug 04:05
Compare
Choose a tag to compare

Released to PyPI

  • New Feature: added raw_bytes parameter to ExifTool.execute() to return bytes only with no decoding conversion.
  • Changed: ExifTool.execute() now accepts both [str,bytes]. When given str, it will encode according to the ExifTool.encoding property.
    • Technical change: Popen() no longer uses an -encoding parameter, therefore working with the socket is back to bytes when interfacing with the exiftool subprocess. This should be invisible to most users as the default behavior will still be the same.
  • Changed: ExifToolHelper.execute() now accepts Any type, and will do a str() on any non-str parameter.
  • Tests: Created associated test with a custom makernotes example to write and read back bytes.
  • Docs: Updated documentation with comprehensive samples, and a better FAQ section for common problems.

v0.5.3

26 Mar 14:03
Compare
Choose a tag to compare

Released to PyPI

  • Quite a few docstring changes
  • ExifToolHelper's get_tags() and set_tags() checks tag names to prevent inadvertent write behavior. See Documentation on Exceptions to get an idea how the change makes using PyExifTool safer!
  • Renamed a few of the errors to make sure the errors are explicit
    • ProcessStateError -> ExifToolProcessStateError
    • new ExifToolExecuteException for all execute() related errors which returns stdout, stderr, returncode, cmd of offending command
      • OutputEmpty -> ExifToolOutputEmptyError
      • OutputNotJSON -> ExifToolJSONInvalidError
  • ExifToolHelper() has some static helper methods which can be used when extending the class (ExifToolAlpha.set_keywords_batch() demonstrates a sample usage).
  • setup.py tweaked to make it Beta rather than Alpha
  • ExifToolAlpha.get_tag() updated to make it more robust.
  • Fixed ujson compatibility
  • Cleaned up and refactored testing.

v0.5.2

04 Mar 05:47
Compare
Choose a tag to compare

Released to PyPI

  • Docstrings have been completely updated. Documentation has been extensively overhauled and is now current to the latest version. View it at https://sylikc.github.io/pyexiftool/
  • ExifToolHelper() gets set_tags() method.
  • ExifToolHelper() will check_execute status code by default and raise ExifToolExecuteError on a non-zero exit status. This should give feedback as to whether the underlying exiftool process encountered an error or succeeded.

v0.5.0

28 Feb 22:32
Compare
Choose a tag to compare

Released to PyPI

Major refactor / rewrite of ExifTool. Lots of things changed. Check COMPATIBILITY.txt for more info.

While it is not directly backwards-compatible with v0.4.x, most use cases will only require minor changes to your existing code.

  • Python 3.6+ required
  • exiftool 12.15+ required

v0.4.13

15 Feb 02:02
Compare
Choose a tag to compare

Released to PyPI

Minor bugfixes, residual from early code contributions. See CHANGELOG.md for more details.

NOTE: Barring any critical bug, this is expected to be the LAST Python 2 supported release!

v0.4.9

21 May 09:09
Compare
Choose a tag to compare

released to PyPI

includes the bugfix for copy_tags() #19

v0.4.7

19 May 21:19
Compare
Choose a tag to compare

This was released to PyPI

includes fix for set_tags_batch() to allow lists #12

v0.4.5

19 May 21:19
Compare
Choose a tag to compare

This was released to PyPI