Read and write image metadata, including EXIF, IPTC, XMP, ICC Profile.
Project description
pyexiv2
Read and write image metadata, including EXIF, IPTC, XMP, ICC Profile.
- Install:
pip install pyexiv2
- Source code on GitHub
- Tutorial | 中文教程
Features
- Base on C++ API of Exiv2 and wrapped with pybind11.
- Supports running on 64bit Linux, MacOS and Windows, with CPython(≥3.6) interpreter.
- Supports various image metadata
- Supports various image formats
- Supports opening images based on the file path or from bytes data.
- Supports Unicode characters that contained in image path or metadata.
Defects
- Can't read the image larger than 2GB, or modify the image larger than 1GB. (related issue)
- Not thread safe, because pyexiv2 uses some global variables in C++.
- Currently, if you use ARM platform, you need to compile exiv2 and pyexiv2 manually, which is troublesome. (related issue)
Tests
There are some test cases in folder pyexiv2/tests.
References
-
Similar projects:
- exiv2 is a C++ library for reading and writing various image metadata, including command-line tools.
- pyexiv2 is a Python2 binding to exiv2, hasn't been updated since 2011.
- py3exiv2 is a Python3 binding to exiv2, wrapped with Boost.Python.
- python-exiv2 is a Python3 binding to exiv2, wrapped with SWIG. The intention is to give direct access to all of the top-level classes in exiv2.
- exiftool is a perl library for reading and writing various image metadata, including command-line tools.
-
Books:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distributions
Close
Hashes for pyexiv2-2.15.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b2fdc7899112ad4d893f082153b07e38e38dd08f9c7462de205ed48d6bbf933 |
|
MD5 | 83190b89eabdffff03d6bc278c8276d0 |
|
BLAKE2b-256 | 55b99ae49f2ed04375ca6d61b2cc28ea1e1b75de3aae06ac3bbe68a98ab482c1 |
Close
Hashes for pyexiv2-2.15.0-cp312-none-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cd6e4f34cb347c0e3c738bcc416c872edaf1a3b19739f61d2643836226f9646 |
|
MD5 | b1c7f3c183202b9041dfd858ae026ec4 |
|
BLAKE2b-256 | e4c82149484abe7795c1f58c57fa44f45590f6946fb62591045e0fde6924bfc2 |
Close
Hashes for pyexiv2-2.15.0-cp312-none-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85869f21e3750a40ba3baf89784f464f980d9954d9513751005dbde5fab63b44 |
|
MD5 | 8a46c11d5db4f3c5f1e22e5d7abd5745 |
|
BLAKE2b-256 | 51dfcaa4b480db54a75bcf304834de84d12f8f1d9cc63f2b9ec93831144f4ee2 |
Close
Hashes for pyexiv2-2.15.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c36d5f49cf96ab218efbc08b4c7d9b8bf3e65093a877530ca88b021429b72bf5 |
|
MD5 | 6b611f7f970722376a82dc04b4c933ca |
|
BLAKE2b-256 | 74d2f3985b53108c8eef9e49aebd420cd26e31d473c11e407b8875fe9a1f7867 |
Close
Hashes for pyexiv2-2.15.0-cp311-none-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea7c9d3cbc296521877bc98707d50a21e318b34a391f0d294ab14641381af02f |
|
MD5 | 361a507612aacec430376ea86db68c48 |
|
BLAKE2b-256 | ab511bf3f8cb8e9651570729a5e8e734098e96ac34f3a41319cabf88a399dfe3 |
Close
Hashes for pyexiv2-2.15.0-cp311-none-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3e308a8a2f526c31096a9247d31a576f28b08295075c2a531832bbf430881fa |
|
MD5 | 9d6f69d4978106ebb456462e81ca67ec |
|
BLAKE2b-256 | 8754504617cb3ec839b0b2c59f63f0bbf129761c5cf24210bf745b559d3e3ab6 |
Close
Hashes for pyexiv2-2.15.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8505e45d7a8a5416a1aec5a55c79ae83fb6742a000e04679298f71f53cd975aa |
|
MD5 | a2e173e7f7ae048743154908bd8b72bc |
|
BLAKE2b-256 | 0ead9c3148504eb13cdc3dd49c66bcbd07949e7c29b1f21da105bc2bf91da0b8 |
Close
Hashes for pyexiv2-2.15.0-cp310-none-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1639c4043a81e1a14a589c34f159bb8d07ce74fdc8cc02eac1d7d550cea6e2f |
|
MD5 | f8901586119ae340007caca934a86356 |
|
BLAKE2b-256 | 66df11017310a9cd41c82066b965fe2a236d94c65ca913e89e39d7930216e9e6 |
Close
Hashes for pyexiv2-2.15.0-cp310-none-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84794ad36ed1b3070d105860d65022c9015c41790e19524f9381ee6cf563ff42 |
|
MD5 | ecc94f26dce5d8b93bee65ad2d7c46d3 |
|
BLAKE2b-256 | 98999056f0d3853017e745f40ff03f8202d98206d75fd71b89900121971430f9 |
Close
Hashes for pyexiv2-2.15.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25ce2a6448d1f28073559dfb4cbd9f898cd373ba3e815dc89361061f4317bf6b |
|
MD5 | ac21c5ab63499821bbf49721ff22b5a5 |
|
BLAKE2b-256 | bbb41253bfee2b78129ac03f5ecb2d12fa413e84b43f6b51d7f26a7299ea47b4 |
Close
Hashes for pyexiv2-2.15.0-cp39-none-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d5f3b5da42701150d3fbfc75b0df1402f86c4b8da7b202d5d96d0d9ae6df7ff |
|
MD5 | 61ae11aa14222f0f33e4c16b64f0321e |
|
BLAKE2b-256 | 5e4262b223eddb6dfa92f0854b6a6032c9199d6722f6cdc0c5d346cdbc541a66 |
Close
Hashes for pyexiv2-2.15.0-cp39-none-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ec4c7a50684fe8913180edfb37dbf82c3e3e63d7359b0e76dc5aa3379acb354 |
|
MD5 | 74fc3b740206c9e2e5072ffbaa33bd01 |
|
BLAKE2b-256 | 773e04fbb33a77105eff71e0343e8cca5269e7f99f8914ab9ee71ec5bda3955d |
Close
Hashes for pyexiv2-2.15.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e870121446a5542c2ed4b0e117990833f26b01f077e8423ff62a747376d4455d |
|
MD5 | e6a14dccb3e3a30cbd95ec36323a4032 |
|
BLAKE2b-256 | 2fa859bf706fc8b589d1ea4cbff98cd9b7a9fcde983c59223b07d7620c9cf037 |
Close
Hashes for pyexiv2-2.15.0-cp38-none-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33a03c5ab8eff9edaf769ed90db1277049ee4ee725b0760d0e6dd0b690fc50ac |
|
MD5 | eddd3b4db57e2a46a9bcc7871aaa4547 |
|
BLAKE2b-256 | fd19bca8d7b211af9d8ce015ed8c4c5052e8421d6261267f0a63c4f211012142 |
Close
Hashes for pyexiv2-2.15.0-cp38-none-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2ffb06fc0c2a990a30b1758c46d372f80ecb45b131ec99b3ee2a417e6f936da |
|
MD5 | 142b76789b4161fae90455a0c4f51661 |
|
BLAKE2b-256 | 95710d1030eac6f9076dde027dfdc8ac47fcba1453bddf205737ff78a1d65a52 |
Close
Hashes for pyexiv2-2.15.0-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc91a52d03ef79759c45061d8c42fdd9c7d8903c67ad8edbecbd7dd9b7fd6237 |
|
MD5 | 12b145153e3f5af8398759190c8fb0a2 |
|
BLAKE2b-256 | 1e450fcc76333e08236037eadde529c0c5eeb6a8f89cefb9c6895a3376f3f7e1 |
Close
Hashes for pyexiv2-2.15.0-cp37-none-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ada0d31c8978d05461ed3366b35af7d4ff0e33175c47eca70ba8936e0200f8bd |
|
MD5 | dc07da1b8355851679e2cb481b79ace7 |
|
BLAKE2b-256 | 191cbf521273cb66dff2bdb221188cd9313cea6e2695f72c626fe6023ec52a79 |
Close
Hashes for pyexiv2-2.15.0-cp36-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c288716bf09cf869c7f8e26895363cc4c2a93d2d7ae80195bfe111e6971e4e22 |
|
MD5 | 4f3e96f5f265c464ee690bc0c6a0d68e |
|
BLAKE2b-256 | 716e846685c7c7ffa57c36bbb377bf829ab1af45ae9ea827e47c2de960a737ee |