You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: INSTALL.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ Use installed libexiv2
21
21
22
22
In the example above, pip_ installs a "binary wheel_".
23
23
This is pre-compiled and includes a copy of the libexiv2_ library, which makes installation quick and easy.
24
-
Wheels for `python-exiv2`_ are available for Windows, Linux, and MacOS with Python versions from 3.6 to 3.12.
24
+
Wheels for `python-exiv2`_ are available for Windows, Linux, and MacOS with Python versions from 3.6 to 3.13.
25
25
26
26
If your computer already has libexiv2_ installed (typically by your operating system's "package manager") then pip_ might be able to compile `python-exiv2`_ to use it.
27
27
First you need to check what version of python-exiv2 you have::
Alternatively, if you have libexiv2 v0.27.x and its "development headers" installed, you can install python-exiv2 from source using your system libexiv2::
55
+
Alternatively, if you have libexiv2 v0.27.x and its "development headers" installed on your computer, you can install python-exiv2 from source using your system libexiv2::
Copy file name to clipboardExpand all lines: USAGE.rst
+4-14Lines changed: 4 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,22 +51,13 @@ Some parts of the interface are deprecated and will eventually be removed.
51
51
Please use Python's ``-Wd`` flag when testing your software to ensure it isn't using deprecated features.
52
52
(Do let me know if I've deprecated a feature you need and can't replace with an alternative.)
53
53
54
-
Enums
55
-
-----
56
-
57
-
The C++ libexiv2 library often uses ``enum`` classes to list related data, such as the value type identifiers stored in `Exiv2::TypeId`_.
58
-
SWIG's default processing of such enums is to add all the values as named constants to the top level of the module, e.g. ``exiv2.asciiString``.
59
-
In python-exiv2 most of the C++ enums are represented by Python enum_ classes, e.g. ``exiv2.TypeId.asciiString`` is a member of ``exiv2.TypeId``.
60
-
61
-
Unfortunately there is no easy way to deprecate the SWIG generated top level constants, but they will eventually be removed from python-exiv2.
62
-
Please ensure you only use the enum classes in your use of python-exiv2.
63
-
64
54
Data structures
65
55
---------------
66
56
67
57
Some parts of the Exiv2 API use structures to hold several related data items.
68
58
For example, the `Exiv2::ExifTags`_ class has a ``tagList()`` method that returns a list of `Exiv2::TagInfo`_ structs.
69
-
In python-exiv2 (since v0.16.2) these structs have dict_ like behaviour, so the members can be accessed more easily:
59
+
Since python-exiv2 v0.18.0 struct member names ending with an underscore ``_`` have aliases without the underscore.
60
+
Since v0.16.2 these structs also have dict_ like behaviour, so the members can be accessed more easily:
70
61
71
62
.. code:: python
72
63
@@ -95,9 +86,6 @@ In python-exiv2 (since v0.16.2) these structs have dict_ like behaviour, so the
95
86
In general it's more efficient to use attribute access (``info.title``) than dict_ access (``info['title']``).
96
87
It is sometimes useful to be able to iterate over the members though, as shown above.
97
88
98
-
Note that in the C++ API the struct member names end with an underscore.
99
-
In the Python interface the underscore is optional for attribute names, and removed in the dict_ like interface.
100
-
101
89
Reading data values
102
90
-------------------
103
91
@@ -320,6 +308,8 @@ Warning: segmentation faults
320
308
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.
321
309
Just as in C++, there is no way to detect that an iterator has become invalid.
322
310
311
+
Since v0.18.0 python-exiv2 can invalidate iterators if the data container is resized, but you should not expect this to work in all circumstances.
0 commit comments