exiftool: Haskell bindings to ExifTool

[ foreign, library, mit ] [ Propose Tags ]

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


[Skip to Readme]
Versions [RSS] [faq] 0.1.0.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:52:26Z
Distributions NixOS:0.1.1.0
Downloads 149 total (9 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2021-04-24 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


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"