Skip to main content

Python interface to libexiv2

Project description

python-exiv2 is a low level interface (or binding) to the exiv2 C++ library. It is built using SWIG to automatically generate the interface code. The intention is to give direct access to all of the top-level classes in libexiv2, but with additional “Pythonic” helpers where necessary. Not everything in libexiv2 is available in the Python interface. If you need something that’s not there, please let me know.

This project has taken over the PyPI exiv2 package created by Michael Vanslembrouck. If you need to use Michael’s project, it is available at https://bitbucket.org/zmic/exiv2-python/src/master/ and can be installed with pip:

pip install exiv2==0.3.1

Introduction

There are several other ways to access libexiv2 from within Python. The first one I used was pyexiv2 (old). After its development ceased I moved on to using gexiv2 and PyGObject. This works well, providing a Metadata object with high level functions such as set_tag_string and set_tag_multiple to get and set metadata values.

A more recent development is pyexiv2 (new). This new project is potentially very useful, providing a simple interface with functions to read and modify metadata using Python dict parameters.

For more complicated metadata operations I think a lower level interface is required, which is where this project comes in. Here is an example of its use:

Python 3.6.12 (default, Dec 02 2020, 09:44:23) [GCC] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import exiv2
>>> image = exiv2.ImageFactory.open('IMG_0211.JPG')
>>> image.readMetadata()
>>> data = image.exifData()
>>> data['Exif.Image.Artist']._print()
'Jim Easterbrook'
>>>

Documentation

The libexiv2 library is well documented for C++ users, in Doxygen format. Recent versions of SWIG can convert this documentation to pydoc format in the Python interface:

$ pydoc3 exiv2.Image.readMetadata
Help on method_descriptor in exiv2.Image:

exiv2.Image.readMetadata = readMetadata(...)
    Read all metadata supported by a specific image format from the
        image. Before this method is called, the image metadata will be
        cleared.

    This method returns success even if no metadata is found in the
    image. Callers must therefore check the size of individual metadata
    types before accessing the data.

    :raises: Error if opening or reading of the file fails or the image
            data is not valid (does not look like data of the specific image
            type).

Unfortunately some documentation gets lost in the manipulations needed to make a useful interface. The C++ documentation is still needed in these cases.

Support for bmff files (CR3, HEIF, HEIC, and AVIF)

Python-exiv2 from version 0.8.3 onwards is built with support for bmff files. In order to use bmff files in your Python program you need to call the enableBMFF function. Please read the Exiv2 statement on bmff patents before doing so.

Assignment

libexiv2 stores metadata values in a generalised container whose type can be set by the type of a value assigned to it, for example:

// C or C++
exifData["Exif.Image.SamplesPerPixel"] = uint16_t(162);

This forces the Exif.Image.SamplesPerPixel value to be an unsigned short. Python doesn’t have such specific integer types, so if you need to set the type you can create an exiv2 value of the appropriate type and assign that:

# Python
exifData["Exif.Image.SamplesPerPixel"] = exiv2.UShortValue(162)

This allows you to set the value to any type, just like in C++, but the Python interface warns you if you set a type that isn’t the default for that tag. Alternatively you can use any Python object and let libexiv2 convert the string representation of that object to the appropriate type:

# Python
exifData["Exif.Image.SamplesPerPixel"] = 162

Buffer interface

Several Exiv2 classes have C++ methods with parameters including a pointer and a length, e.g. (Exiv2::byte* buf, long size). In the Python interface these methods take any Python object which exposes a simple buffer interface, e.g. bytes or str.

The Python interfaces to Exiv2::BasicIo and Exiv2::DataBuf expose their data as a Python buffer. This allows efficient access to the data without copying it. For example:

data = bytes(image.io())

creates a Python bytes object containing the image data but without any copying.

Iterators

The Exiv2::ExifData, Exiv2::IptcData, and Exiv2::XmpData classes use C++ iterators to expose private data, for example the ExifData class has a private member of std::list<Exifdatum> type. The classes have public begin(), end(), and findKey() methods that return std::list iterators. In C++ you can dereference one of these iterators to access the Exifdatum object, but Python doesn’t have a dereference operator.

This Python interface converts the std::list iterator to a Python object that has access to all the Exifdatum object’s methods without dereferencing. For example:

Python 3.6.12 (default, Dec 02 2020, 09:44:23) [GCC] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import exiv2
>>> image = exiv2.ImageFactory.open('IMG_0211.JPG')
>>> image.readMetadata()
>>> data = image.exifData()
>>> b = data.begin()
>>> b.key()
'Exif.Image.ProcessingSoftware'
>>>

Before using an iterator you must ensure that it is not equal to the end() value.

You can iterate over the data in a very C++ like style:

>>> data = image.exifData()
>>> b = data.begin()
>>> e = data.end()
>>> while b != e:
...     b.key()
...     next(b)
...
'Exif.Image.ProcessingSoftware'
<Swig Object of type 'Exiv2::Exifdatum *' at 0x7fd6053f9030>
'Exif.Image.ImageDescription'
<Swig Object of type 'Exiv2::Exifdatum *' at 0x7fd6053f9030>
[skip 227 line pairs]
'Exif.Thumbnail.JPEGInterchangeFormat'
<Swig Object of type 'Exiv2::Exifdatum *' at 0x7fd6053f9030>
'Exif.Thumbnail.JPEGInterchangeFormatLength'
<Swig Object of type 'Exiv2::Exifdatum *' at 0x7fd6053f9030>
>>>

The <Swig Object of type 'Exiv2::Exifdatum *' at 0x7fd6053f9030> lines are the Python interpreter showing the return value of next(b). You can also iterate in a more Pythonic style:

>>> data = image.exifData()
>>> for datum in data:
...     datum.key()
...
'Exif.Image.ProcessingSoftware'
'Exif.Image.ImageDescription'
[skip 227 lines]
'Exif.Thumbnail.JPEGInterchangeFormat'
'Exif.Thumbnail.JPEGInterchangeFormatLength'
>>>

The data container classes are like a cross between a Python list of Metadatum objects and a Python dict of (key, Value) pairs. (One way in which they are not like a dict is that you can have more than one member with the same key.) This allows them to be used in a very Pythonic style:

data = image.exifData()
print(data['Exif.Image.ImageDescription'].toString())
if 'Exif.Image.ProcessingSoftware' in data:
    del data['Exif.Image.ProcessingSoftware']
data = image.iptcData()
while 'Iptc.Application2.Keywords' in data:
    del data['Iptc.Application2.Keywords']

Warning: segmentation faults

If an iterator is invalidated, e.g. by deleting the datum it points to, then your Python program may crash with a segmentation fault if you try to use the invalid iterator. Just as in C++, there is no way to detect that an iterator has become invalid.

There may be other cases where the Python interface doesn’t prevent segfaults. Please let me know if you find any.

Error handling

libexiv2 has a multilevel warning system a bit like Python’s standard logger. The Python interface redirects all Exiv2 messages to Python logging with an appropriate log level. The exiv2.LogMsg.setLevel function can be used to control what severity of messages are logged.

Installation

Python “wheels” are available for Windows (Python 3.5 to 3.10) and Linux & MacOS (Python 3.6 to 3.10). These include the libexiv2 library and should not need any other software to be installed. They can be installed with Python’s pip package. For example, on Windows:

C:\Users\Jim>pip install python-exiv2

or on Linux or MacOS:

$ pip3 install --user python-exiv2

If the available wheels are not compatible with your operating system then pip will download the python-exiv2 source and attempt to compile it. For more information, and details of how to compile python-exiv2 and libexiv2, see INSTALL.rst.

Problems?

Please email jim@jim-easterbrook.me.uk if you find any problems (or solutions!).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exiv2-0.11.0.zip (2.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

exiv2-0.11.0-cp310-cp310-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.10Windows x86-64

exiv2-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

exiv2-0.11.0-cp310-cp310-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

exiv2-0.11.0-cp39-cp39-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.9Windows x86-64

exiv2-0.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

exiv2-0.11.0-cp39-cp39-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

exiv2-0.11.0-cp38-cp38-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.8Windows x86-64

exiv2-0.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

exiv2-0.11.0-cp38-cp38-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

exiv2-0.11.0-cp37-cp37m-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.7mWindows x86-64

exiv2-0.11.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

exiv2-0.11.0-cp37-cp37m-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

exiv2-0.11.0-cp36-cp36m-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.6mWindows x86-64

exiv2-0.11.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

exiv2-0.11.0-cp36-cp36m-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

exiv2-0.11.0-cp35-cp35m-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.5mWindows x86-64

File details

Details for the file exiv2-0.11.0.zip.

File metadata

  • Download URL: exiv2-0.11.0.zip
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0.zip
Algorithm Hash digest
SHA256 2e5aa8a75b948dd424ef8c5e6742f4bbdec5289a8a657b0afc37164b33be3573
MD5 c320edff7e1b90440b3d95f5057b4b8b
BLAKE2b-256 655e5ec54f19c82b3844a41c0028efb10e8a69eeaef6890fa395dd21ae076a94

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d1311afb5004f0b70f2b9eadc155883aaaf90ae5839e2de62042168f2af1ba16
MD5 90978a503984a98f795feafed6c7e570
BLAKE2b-256 240c4bf88536f534a10905fae1370fff02578d1ad9d0893cf441f1d51a34a7db

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 02b4a189a4ce779477da0a873b0ee5a979e548427d646a785e897ffdf35055e0
MD5 016d02db2f8b958c4027ba34194bada1
BLAKE2b-256 ead53b33c4f077801372cb4c028dbb5c6684d1945902f1a0fa5496c642dca7cd

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 381a1c017fbdcc5ee568339af81730483284b27a2099dc78fab840e05e95671b
MD5 3f4fdbd99fba5c95512fec52f4826e84
BLAKE2b-256 b6c7c4f7c55a5a0932d2946b0f8e1680777e1603107705ec1099f03f4edbb097

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 287ea05bf789d727b0a2a8d03c39278d68c2f23b3650a12ba87556653ca4fee5
MD5 1b3330b54602a0f7f77812e93e4d0713
BLAKE2b-256 1f2bc2f878fc147d5be8e64801472e835ebd387aff038efc14c6e4eee267918a

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa0b5038a168294bff3d00d955328453ebed5be426796fee15ba2886bf21533f
MD5 59e46762946366edae9d2b238803011d
BLAKE2b-256 9640c6a0c6d614715aead73a80e5cb8f7aeba52e6cd2d8ca5dc09c2bcfaf5258

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 86b2ff278786cb89e1b68163a72417e554bb35095356caef47f502f5b442e019
MD5 983c62cff2a4471ec4bd89c83c209270
BLAKE2b-256 7591a6140dd6e35178d86cf3faaeb3a8eddd870bf065cc3613c1b71c7f0064a2

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fe288cf4f2afeb51fa0ea332e553e161795e1898a44ef1102b35f1a7f0c9238c
MD5 46dbc0528fe4d17849d8f5a2e62927ff
BLAKE2b-256 ff88030ffb991400eba9117bcf58da38ba9bba51e5c20a0c76fb6d405590a21d

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4406413b1606f1a456d1baca6f094da9a6f63bfab2050fffd7bdc1dc73acae5
MD5 d291dfcc9da1f253cc0e22266b3950ad
BLAKE2b-256 7fb162fa88997ba9645c2eda17c087a94ccf13779c63ac2840ea875b46653542

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f9dd46d08c7def08dee7dc9447c570272659e9ea4caed1ec3fdc52715e12decf
MD5 abfa3c34444ff13c4d86618cd19640e5
BLAKE2b-256 20d8e0040f1741e15ed7fb62a8cf1731d26ede5de0a034d7f1f88e3006b1bc7d

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 c46223d1754021763807777cdefafdd7324466585b5e50bcb429693650a13d6a
MD5 a455ad7ce6e40b98b835c9c59ddc1345
BLAKE2b-256 9d864cc5afea748927862e0f814d7660674e68382ecb6a563f9757fbf86328aa

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef0506db486b26d1df17e23fd73f0540369543a7a2d18b1f7e59917674418f1a
MD5 90dec72320b73d49768d8df88304ab17
BLAKE2b-256 5a4769aba00690eaa193e0a3c473d1edc00f4de3551dd203040cad29223c4dac

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 003ee5870be90b81dbea8e9365581e2d927a8c21920dea3dc562ff07c8452dab
MD5 852dea9ac8aca4b878eb74d247e14b6c
BLAKE2b-256 929076a2738010d54778e67add436aa1a24de673dd2d57cf7b1e48a9c52b1a87

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 2537fbb63c3b1b30de2e1a8f91af97641dd7f11a56335cf939303dc3fa17dbb2
MD5 62ac4ffe63a99e96596729bf3234fb11
BLAKE2b-256 2e5b147a009aeded3e12705584f4f2dbe52b42845beb8cf7c523a6f91f32f983

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d3e31a677e6c49a8ac7eee1607517850f4d53b902c86efc9ea1d103c578e5d5
MD5 277cb6cf4756bca0341c197868e74ba8
BLAKE2b-256 3bdca67ae86fb88eb743bdd249aea6c634fd138bed40dc5c1acde13ef904358d

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 64d75cf33cfbca9adbba4072e2ff905076507601a90c176526b26b4027eeeb6c
MD5 8b4d1297c867f315ee32564574eece5d
BLAKE2b-256 01800b88f91f7d1f1b23dae2680050801ed62600f376ec9327865fce457f3348

See more details on using hashes here.

File details

Details for the file exiv2-0.11.0-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: exiv2-0.11.0-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for exiv2-0.11.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 8bd1ad21e4353213ea94cbaf4caaabf8c18b496cf6addc7445612c85f29b6065
MD5 f145aabca680ded5153e138d38dfa9a6
BLAKE2b-256 706e60e1ecf5dfe1f854346fbfbb1f0fea36ccc605abb855f724bc5617869a98

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page