Skip to main content

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.

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.

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

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. Failure to do so may produce a segmentation fault, just like a C++ program would.

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

Many of the libexiv2 objects point to data in other objects. For example, image.exifData() returns an object that points to data in image. The Python interface uses Python objects’ reference counting to prevent image being deleted while its data is being pointed at by another object. This avoids one possible cause of segfaults.

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:

$ sudo pip3 install python-exiv2

You can install for a single user with the --user option:

$ 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!).

Release files for python-exiv2 0.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-exiv2 0.8.2
File Size Uploaded
python-exiv2-0.8.2.zip 2.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for python-exiv2 0.8.2
File
python_exiv2-0.8.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
python_exiv2-0.8.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.12+ x86-64 Details
python_exiv2-0.8.2-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
python_exiv2-0.8.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
python_exiv2-0.8.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.12+ x86-64 Details
python_exiv2-0.8.2-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
python_exiv2-0.8.2-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
python_exiv2-0.8.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64 Details
python_exiv2-0.8.2-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
python_exiv2-0.8.2-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
python_exiv2-0.8.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Details
python_exiv2-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details
python_exiv2-0.8.2-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
python_exiv2-0.8.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 Details
python_exiv2-0.8.2-cp36-cp36m-macosx_10_9_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64 Details
python_exiv2-0.8.2-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details

Total release size: 51.3 MB

Release files / python-exiv2-0.8.2.zip

Download URL python-exiv2-0.8.2.zip
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
50b5aac27ba6edcecfe59ba350aebbb81d69832be772c735f132ed208063737e
BLAKE2b-256 checksum
How to use checksums
07ff975f2be983555cde240a833cf29cee879945280635c7ca891fcf825bb3ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp310-cp310-win_amd64.whl

Download URL python_exiv2-0.8.2-cp310-cp310-win_amd64.whl
Size 1.7 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
8343c253bec16468a4d81f4d1afcfa2b1296e130611b98e7e208176b3a2c13d2
BLAKE2b-256 checksum
How to use checksums
a887141019db90380a9fb9456a21c10b7686a4861a132e55f5323788c5c342f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL python_exiv2-0.8.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 5.9 MB
Tags CPython 3.10 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
4eeb5d71043f8601a3b21ce0fa35f0f3ec5c2f4b64544a15329f0522488e52a3
BLAKE2b-256 checksum
How to use checksums
6825eb630e6e6d4a354364566ab3abf8202564eef01ea315dec42ce940f34748
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp310-cp310-macosx_10_9_x86_64.whl

Download URL python_exiv2-0.8.2-cp310-cp310-macosx_10_9_x86_64.whl
Size 1.9 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
7e0d9cafb7359eb17915abb81223c5e5fa7aae3c48c52383eeca1ab88b16ee30
BLAKE2b-256 checksum
How to use checksums
189ba47cd0f6b60ec5a9dff1303bc411d104393ef0c1bd5b117bceae8f9f25c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp39-cp39-win_amd64.whl

Download URL python_exiv2-0.8.2-cp39-cp39-win_amd64.whl
Size 1.7 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
162f688b4561302ec36dd7ae14dfa400faf2ca87585ef03ab06f636a810b577d
BLAKE2b-256 checksum
How to use checksums
283ae5e09b8a77aaa21b319feba2f732b0f0e3c003ecd64475e1568278f0ff23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL python_exiv2-0.8.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 5.9 MB
Tags CPython 3.9 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
2df4b603a5cdbf2aa16a2c90c248da79e87bbbaca9265163d261e9c60f48443d
BLAKE2b-256 checksum
How to use checksums
467182ebcf2b82ac18dacd294667fb76ae994fcf231bca0d23ec479c845ce9b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp39-cp39-macosx_10_9_x86_64.whl

Download URL python_exiv2-0.8.2-cp39-cp39-macosx_10_9_x86_64.whl
Size 1.9 MB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
853d46cda9cc7e6971935e608993bd0788ae186598196f94a87119e82d43a810
BLAKE2b-256 checksum
How to use checksums
648e78d1a0aef08864e91bd7eb7bb82d6c6cf326971004588a4a492cfe2c66ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp38-cp38-win_amd64.whl

Download URL python_exiv2-0.8.2-cp38-cp38-win_amd64.whl
Size 1.7 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
d55cb8d1efac9ef12be29b2edaa3ca150a30445f392a66ebd720a60c98f9a588
BLAKE2b-256 checksum
How to use checksums
d9fb4d631bb369a88caba7b0985af243b005074aefc372b70919a37492d4c1f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL python_exiv2-0.8.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 5.9 MB
Tags CPython 3.8 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
92c96ecdcc09137396a664ac81f125141e4cec2a15acf5b03c38c1051c8a90fd
BLAKE2b-256 checksum
How to use checksums
b0c7e8ae1e03c3bd7f6a379ec35b5e1fc25c71a1a9064efaaa43083710594788
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp38-cp38-macosx_10_9_x86_64.whl

Download URL python_exiv2-0.8.2-cp38-cp38-macosx_10_9_x86_64.whl
Size 1.9 MB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
b99392a70bfcd6614e155a13c2887d07b2a25d2b6610fbd3f8f9a6bf5dfa2d05
BLAKE2b-256 checksum
How to use checksums
1baea38faece148bf5bb32456245759e7cdb9d878e2c97e7f2544d128a3aa4e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp37-cp37m-win_amd64.whl

Download URL python_exiv2-0.8.2-cp37-cp37m-win_amd64.whl
Size 1.7 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
80c41d474b2e787ebe8ffda3e03712618603ce0e73a96df0fa629ef631e6cb0f
BLAKE2b-256 checksum
How to use checksums
150679d34db7d48b2e15f2afd8d2d7bf449453464750c9505fbab0bde7b06e28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL python_exiv2-0.8.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 5.8 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
d6124981d477e132680ffd28aeb53b574ecea7de9e119b9f3b1f7718938b4c75
BLAKE2b-256 checksum
How to use checksums
2aaf303bda369fb345d66a9d1505810b7e744835b781e51b2d2f9c4159d35b22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL python_exiv2-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl
Size 1.9 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9b3bd28354fd7c37b129713e29059743ef59a33a8af785d76b0d1aac2283b122
BLAKE2b-256 checksum
How to use checksums
1a765f984850e6ee4e284cf5136aefef674ae60fd49c54709e128213eb978209
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp36-cp36m-win_amd64.whl

Download URL python_exiv2-0.8.2-cp36-cp36m-win_amd64.whl
Size 1.7 MB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
1b397a98fd17f27912186f8a6f586c616afb2467d17008c44bbe5cc6f2213489
BLAKE2b-256 checksum
How to use checksums
a9f4cf84efdcfd3141e8d481ad8638b23f3e04296cc61b22415887f62752aa6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL python_exiv2-0.8.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 5.8 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
75bc9723c70b8cea2ef727b00c1c8f3e67a256f21596b3c28fcef04e10ea7baf
BLAKE2b-256 checksum
How to use checksums
b0538df4ab84a83b7b9e5a470b0927334c33ce64fa651df22662d905dfa81f0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp36-cp36m-macosx_10_9_x86_64.whl

Download URL python_exiv2-0.8.2-cp36-cp36m-macosx_10_9_x86_64.whl
Size 1.9 MB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
361f13db52a3cffb9ee5aa09777f7dc9adde227f206e47a94b7499319a73c46e
BLAKE2b-256 checksum
How to use checksums
a2714bb8ed6bd1d1d550b0d690eae29350ec62171c73351564e0f9a0ac39c214
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release files / python_exiv2-0.8.2-cp35-cp35m-win_amd64.whl

Download URL python_exiv2-0.8.2-cp35-cp35m-win_amd64.whl
Size 1.7 MB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
1fd96076db4bd42a53f534f9ac63df67c66ca82434f940edde19d99535061dd1
BLAKE2b-256 checksum
How to use checksums
ebd24d7c16a95fef5bb19ecf8b6ce8add4a5995b524f1bc0ef7ceed43920951f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.26.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

Release history Release notifications | RSS feed

0.11.0

1 release file

0.9.0

17 release files

0.8.3

17 release files

This release

0.8.2 This release

17 release files

0.8.1

17 release files

0.8.0

17 release files

0.6.0

17 release files

0.5.3

17 release files

0.5.2

17 release files

0.5.0

6 release files

0.4.0

6 release files

0.3.1

11 release files

0.2.2

6 release files

0.2.1

1 release file

0.2.0

1 release file

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page