epub-tools: Command line utilities for working with epub files

[ application, console, program ] [ Propose Tags ]

A suite of command-line utilities for creating and manipulating epub book files. Included are: epubmeta, epubname, epubzip

[Skip to Readme]
Versions [RSS] [faq],, 1.1.0, 1.1.1, 1.1.2, 2.0.0, 2.1.0, 2.1.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11
Change log changelog.md
Dependencies base (>=3 && <5), bytestring, directory, epub-metadata (>=4.0), filepath, mtl, parsec, process, regex-compat, zip-archive [details]
License BSD-3-Clause
Copyright 2008-2015 Dino Morelli
Author Dino Morelli
Maintainer Dino Morelli <dino@ui3.info>
Category Application, Console
Home page http://hub.darcs.net/dino/epub-tools
Source repo head: darcs get http://hub.darcs.net/dino/epub-tools
Uploaded by DinoMorelli at 2015-09-18T14:23:10Z
Distributions NixOS:2.11
Executables epubzip, epubname, epubmeta
Downloads 30492 total (67 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Last success reported on 2016-12-01 [all 6 reports]


Maintainer's Corner

For package maintainers and hackage trustees


Readme for epub-tools-2.8

[back to package description]



Command line utilities for working with epub files (Haskell)


A suite of command-line utilities for creating and manipulating epub book files. Included are: epubmeta, epubname, epubzip. This software uses the epub-metadata library, also available on Hackage.


epubmeta is a command-line utility for examining and editing epub book metadata. With it you can export, import and edit the raw OPF Package XML document for a given book. Or simply dump the metadata to stdout for viewing in a friendly format.

Here's an example of epubmeta output:

  $ epubmeta Kelly_Kessel_Lethem-NinetyPercentOfEverything.epub

     version: 2.0
     unique-identifier: calibre_id
     id: calibre_id
     scheme: calibre
     text: b1026732-69a5-4a05-a8d9-a1701685f6fa
     scheme: ISBN
     text: 1-590620-00-3
  title: Ninety Percent of Everything
  language: en-us
     text: calibre (0.5.1) [http://calibre.kovidgoyal.net]
     file-as: calibre
     role: bkp
     text: James Patrick Kelly
     file-as: Kelly, James Patrick
     role: aut
     text: John Kessel
     role: aut
     text: Jonathan Lethem
     role: aut
  date: 2001-03-25T00:00:00
  publisher: www.Fictionwise.com
  subject: Science Fiction/Fantasy


epubname is a command-line utility for renaming epub ebook files based on their OPF Package metadata. It tries to use author names and title info to construct a sensible name.

Using it looks like this:

  $ epubname poorly-named-book.epub

  poorly-named-book.epub -> WattsPeter-Blindsight_2006.epub

  $ epubname another-poorly-named-book.epub

  another-poorly-named-book.epub -> Kelly_Kessel_Lethem-NinetyPercentOfEverything.epub


epubzip is a handy utility for zipping up the files that comprise an epub into an .epub zip file. Using the same technology as epubname, it can try to make a meaningful filename for the book.

Getting source

And once you have it, building the usual way:

  $ cabal configure --enable-tests
  $ cabal build
  $ cabal test
  $ cabal install


Build and install with cabal-install: $ cabal update ; cabal install epub-tools


Dino Morelli <dino@ui3.info>