Felix Crux

Technology & Miscellanea

Tags: , ,

The rexiv2 library crate (available on crates.io) for Rust provides read and write access to media file (mainly photo) metadata in the Exif, XMP, and IPTC formats. Many file formats are supported, including of course JPEG, PNG, TIFF, XMP sidecar, some camera raw formats, and various others.

You can view the documentation here, get the source code, and report bugs or contribute code.

The library acts as a wrapper providing a more Rustic and safe API around the venerable Exiv2, via gexiv2, which is called using the sister crate gexiv2-sys that provides C FFI bindings.

I’ve been slowly and patchily working on this library for quite some time, adding to it and improving it whenever my personal tools and work required it, but I believe it is now at the point where it is generally usable and could be helpful to others.

The version number currently stands at the “unstable” 0.4, but that’s just because it hasn’t yet seen sufficient real-world battle-testing to make me confident in a 1.0 release with a promise of stability. No further API-breaking changes are planned, though they could of course happen in response to feedback or the discovery of major bugs.

rexiv2 and gexiv2-sys are both made available under the terms of the terms of the GPL, version 3 or later. Contributions would be most welcome.

blog comments powered by Disqus