Skip to content

Commit c38f184

Browse files
Update documentation
1 parent e6f964a commit c38f184

File tree

3 files changed

+6
-16
lines changed

3 files changed

+6
-16
lines changed

INSTALL.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Use installed libexiv2
2121

2222
In the example above, pip_ installs a "binary wheel_".
2323
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.
2525

2626
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.
2727
First you need to check what version of python-exiv2 you have::

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ If your software is currently incompatible with libexiv2 v0.28.x you can use an
5252
5353
$ pip install --user exiv2==0.16.2 --only-binary :all:
5454
55-
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::
5656
5757
$ pip install --user exiv2 --no-binary :all:
5858

USAGE.rst

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,22 +51,13 @@ Some parts of the interface are deprecated and will eventually be removed.
5151
Please use Python's ``-Wd`` flag when testing your software to ensure it isn't using deprecated features.
5252
(Do let me know if I've deprecated a feature you need and can't replace with an alternative.)
5353

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-
6454
Data structures
6555
---------------
6656

6757
Some parts of the Exiv2 API use structures to hold several related data items.
6858
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:
7061

7162
.. code:: python
7263
@@ -95,9 +86,6 @@ In python-exiv2 (since v0.16.2) these structs have dict_ like behaviour, so the
9586
In general it's more efficient to use attribute access (``info.title``) than dict_ access (``info['title']``).
9687
It is sometimes useful to be able to iterate over the members though, as shown above.
9788

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-
10189
Reading data values
10290
-------------------
10391

@@ -320,6 +308,8 @@ Warning: segmentation faults
320308
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.
321309
Just as in C++, there is no way to detect that an iterator has become invalid.
322310

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.
312+
323313
Segmentation faults
324314
-------------------
325315

0 commit comments

Comments
 (0)