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]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.1.0, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.2.0.4, 0.2.0.5
Change log CHANGELOG.md
Dependencies aeson (>=1.5.4 && <2.3), base (>=4.12 && <5), base64 (>=1.0 && <1.1), bytestring (>=0.10.8 && <0.13), hashable (>=1.3.0 && <1.5), process (>=1.6.5 && <1.7), scientific (>=0.3.6 && <0.4), temporary (>=1.3 && <1.4), text (>=1.2.3 && <2.2), unordered-containers (>=0.2.12 && <0.3), vector (>=0.12.1 && <0.14) [details]
License MIT
Copyright 2020-2024 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 2024-04-01T20:11:32Z
Distributions
Downloads 747 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-04-01 [all 1 reports]

Readme for exiftool-0.2.0.5

[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"