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, 0.2.0.0
Change log CHANGELOG.md
Dependencies aeson (>=1.5.4 && <2.1), base (>=4.12 && <5), base64 (>=0.4.2 && <0.5), bytestring (>=0.10.8 && <0.12), hashable (>=1.3.0 && <1.5), 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
Revised Revision 2 made by MartinHoppenheit at 2021-11-21T19:45:56Z
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-09-28T20:17:30Z
Distributions NixOS:0.1.1.0
Downloads 334 total (3 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-09-28 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


Readme for exiftool-0.2.0.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 OverloadedStrings #-}

import Data.Text (Text)
import ExifTool

data Foo = Foo
  { description :: Text,
    resolution :: Int
  }
  deriving (Show)

main :: IO ()
main = withExifTool $ \et -> do
  m <- readMeta et [] "a.jpg"
  print $ Foo <$> get (Tag "Description") m <*> get (Tag "XResolution") m
  let m' = del (Tag "Description") . set (Tag "XResolution") (42 :: Int) $ m
  writeMeta et m' "a.jpg"