Exempi is an implementation of XMP. Version 2.x is based on Adobe XMP SDK and released under a BSD-style license like Adobe's. The 3 clause BSD (aka New-BSD) license is compatible with GPL. The licensing is kept identical in order to allow two-way merging of the code (ie sending our change to the XMP SDK to Adobe for integration).
The API is C based and means to be used from any language and be easier to maintain ABI stability.
The overall changes include:
- STABLE C API/ABI for the library, instead of a C++ template based version.
- GNU friendly build system based on automake.
- Code changes for UN*X systems compatibility.
- Architecture support for 64-bits (x86_64) and others.
- Test suite. There is also a work in progress "exempi" command line tool starting in 2.2.0
Download Exempi
2.x series Changelog
- version 2.5.0 .tar.bz2 - GPG signature
- version 2.4.5 .tar.bz2 - GPG signature
- version 2.3.0 .tar.bz2 - GPG signature
- version 2.2.2 .tar.bz2 - GPG signature
- older releases
Rust crate
To use Exempi 2.3.0 (or later) from Rust, juste use the crates: exempi and exempi-sys
Just specify in your Cargo.toml file the following:
[dependencies]
exempi = "2.3.0"
Use the appropriate version as you see fit. It will require to have at least that version the exempi package.
Binary packages
- check your favorite distribution.
Obsolete 1.0 series
- version 0.5.1 .tar.gz - GPG signature
- version 0.5.0 .tar.gz - GPG signature
Bugs reporting
Bugs can be reported in freedesktop.org bugzilla.
Mailing list
There is a mailing list exempi-devel to discuss of exempi development and exempi use (as a developer).
https://lists.freedesktop.org/mailman/listinfo/exempi-devel
Source Code repository
Version 2.x is hosted on freedesktop.org in git.
git://anongit.freedesktop.org/git/exempi.git
For push access:
git+ssh://git.freedesktop.org/git/exempi.git
To get the 2.4 branch, use the following for the initial checkout after git clone
:
git checkout -b exempi-2.4-branch origin/exempi-2.4-branch
This create an exempi-2.4-branch that track the remote one.