1Introduction 2============ 3 4*Python XMP Toolkit* is a library for working with `XMP 5<http://www.adobe.com/products/xmp/>`_ metadata, as well as 6reading/writing XMP metadata stored in many different file formats. 7 8Python XMP Toolkit is wrapping `Exempi 9<http://libopenraw.freedesktop.org/wiki/Exempi>`_ (using `ctypes 10<http://docs.python.org/lib/module-ctypes.html>`_), a C/C++ XMP library 11based on `Adobe XMP Toolkit <http://www.adobe.com/devnet/xmp/>`_, 12ensuring that future updates to the XMP standard are easily incorporated 13into the library with a minimum amount of work. 14 15Python XMP Toolkit has been developed by: 16 17 * `ESA/Hubble - European Space Agency <http://www.spacetelescope.org>`_ 18 * `ESO - European Southern Observatory <http://www.eso.org>`_ 19 * `CRS4 - Centre for Advanced Studies, Research and Development in Sardinia <http://www.crs4.it/>`_ 20 21Feature Overview 22---------------- 23The XMP features provided are similar to that of Adobe XMP Toolkit, which are: 24 25 * Support for parsing, manipulating, and serializing XMP data. 26 * Support for locating the XMP in a file, adding XMP to a file, or updating the XMP in a file. 27 * Support for nearly any file format with smart file handlers for JPEG, TIFF, GIF, PNG, PSD, InDesign, MOV, MP3, MPEG2, MPEG4, AVI, FLV, SWF, ASF, PostScript, P2, SonyHDV, AVCHD, UCF, WAV, XDCAM, XDCAMEX. 28 * An API very similar to Adobe XMP Toolkit. 29 * Based on Exempi 2.1.1 and Adobe XMP Toolkit 4.4.2 30 31Following important features from Adobe XMP Toolkit are not available in Python XMP Toolkit: 32 33 * Localized text support 34 * Methods for working with XMP structs. 35 * Methods for working with XMP qualifiers 36 * Methods for working with XMP Aliases 37 38What is XMP? 39------------ 40The Adobe Extensible Metadata Platform (XMP) specification describes a 41widely used method for embedding descriptive metadata within images. XMP 42tags are stored within the image header of all common image formats (JPEG, 43TIFF, PNG, GIF, PSD) and can be read by popular image processing and 44cataloging packages. The XMP standard is also widely used by photographers 45and the publication industry. Users of consumer and professional digital 46cameras may already be familiar with Exchangeable Image File Format 47(EXIF) metadata tags that include camera and exposure information within 48the digital photo file as a set of XMP tags. In practice an XMP header 49is a block of XML text included in the header block of the image file 50and is only supported in image types with header/comment blocks. 51 52The advantages of embedded image identity metadata are numerous. Including 53metadata effectively makes the images self-documenting, which is particularly 54useful when the source URL for an image is lost. This information can now be 55accessed by multimedia management packages, or indexed by databases 56designed to read the embedded information. For instance, an online or desktop 57planetarium program could load an image from the web and extract the 58appropriate metadata to place it in the proper position in the sky. 59