exiftool: Haskell bindings to ExifTool

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Haskell bindings to the ExifTool command-line application that enable reading, writing and deleting metadata in various file formats.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.1.1.0, 0.1.1.0
Change log CHANGELOG.md
Dependencies aeson (>=1.5.4 && <1.6), base (>=4.12 && <5), base64 (>=0.4.2 && <0.5), bytestring (>=0.10.8 && <0.12), hashable (>=1.3.0 && <1.4), process (>=1.6.5 && <1.7), scientific (>=0.3.6 && <0.4), string-conversions (>=0.4.0 && <0.5), temporary (==1.3.*), text (>=1.2.3 && <1.3), unordered-containers (>=0.2.12 && <0.3), vector (>=0.12.1 && <0.13) [details]
License MIT
Copyright 2020-2021 Martin Hoppenheit
Author Martin Hoppenheit
Maintainer martin@hoppenheit.info
Category Foreign
Home page https://github.com/marhop/exiftool-haskell
Source repo head: git clone https://github.com/marhop/exiftool-haskell
Uploaded by MartinHoppenheit at 2021-04-24T20:49:32Z

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for exiftool-0.1.1.0

[back to package description]

exiftool-haskell

Hackage CI

Haskell bindings to the ExifTool command-line application that enable reading, writing and deleting metadata in various file formats.

Full documentation is on Hackage. A short code example:

{-# LANGUAGE OverloadedLists #-}
{-# LANGUAGE OverloadedStrings #-}

import Data.HashMap.Strict ((!?))
import ExifTool

example :: IO ()
example =
  withExifTool $ \et -> do
    -- Read metadata, with exact (!?) and fuzzy (~~) tag lookup.
    m <- getMeta et "a.jpg"
    print $ m !? Tag "EXIF" "ExifIFD" "DateTimeOriginal"
    print $ m ~~ Tag "EXIF" "" "XResolution"
    print $ m ~~ Tag "XMP" "" ""
    -- Write and delete metadata.
    setMeta et [(Tag "XMP" "XMP-dc" "Description", String "...")] "a.jpg"
    deleteMeta et [Tag "XMP" "XMP-dc" "Description"] "a.jpg"