Ebook Tools Directory/EPUB Tools/EbookLib
EPUB ToolsVerified Authentic ReleaseAGPL-3.0

EbookLib

The standard Python library for programmatic reading, writing, and manipulating EPUB2/EPUB3 files.

1,824 Stars272 ForksPythonRelease: v0.21

Tool Overview

EbookLib is a Python library for managing EPUB2/EPUB3 and Kindle files. It provides an intuitive object-oriented API to parse chapters, extract and modify internal CSS, embed cover images, inject spine elements, and generate fully compliant EPUB publications.

System Requirements: Python 3.7+ with lxml and six

Key Capabilities & Features

Complete read and write support for EPUB 2 and EPUB 3 standards
Granular DOM access to HTML content, metadata, spine, and navigation
Media asset embedding (images, stylesheets, custom fonts, audio)
Cover page generation and OPF package manifest validation
Lightweight with minimal C-dependencies for serverless automation

Package Manager & CLI Installation

Install and update EbookLib using your preferred operating system package manager or container runtime:

$ pip install EbookLib

Verified Official Release Downloads

v0.21

All binaries are sourced directly from the official developer release assets without re-packaging or modifications.

Source Code ZIPVerified
ebooklib-v0.21-source.zip
Size: GitHub Archive
Download Source

Client-Side SHA-256 Binary Integrity Verifier

100% Client-Side. Verified locally in your browser using the Web Crypto API. No files are uploaded.

Drag & drop downloaded binary here, or browse file

Computes SHA-256 hash in real-time to guarantee file authenticity against developer releases.

Security Verification Status: Verified Open Source Package

Downloads link directly to the official GitHub releases hosted by aerkalov/ebooklib. Files are checked for authentic digital developer signatures and verified against open-source repository tags.

Latest Release Changelog (v0.21)

## What's Changed * Update READMEmd with list of popular projects using eboolib by @Kiranpatil02 in https://github.com/aerkalov/ebooklib/pull/353 * Fix #347 by @GreenCake3 in https://github.com/aerkalov/ebooklib/pull/352 * EpubWriter: use the mtime option as the date_time value of zip metadata by @Arwalk in https://github.com/aerkalov/ebooklib/pull/340 * Remove Python 2.x support, add support for the Typing and move code i… by @aerkalov in https://github.com/aerkalov/ebooklib/pull/365 * Write dcterms:modified as UTC time by @aerkalov in https://github.com/aerkalov/ebooklib/pull/367 * fix: generate unique ids for multiple authors by @lowbyteguy in https://github.com/aerkalov/ebooklib/pull/366 * Security: Path traversal in Directory.read() via crafted epub manifes… by @aerkalov in https://github.com/aerkalov/ebooklib/pull/368 * Do not use the content encoding as a media type by @dylanpulver in https://github.com/aerkalov/ebooklib/pull/372 * Document spine-first reading order and stable resource tail by @radixun in https://github.com/aerkalov/ebooklib/pull/373 * Fix ty typecheck failure in sourcecode plugin (unblocks CI test job) by @scks1 in https://github.com/aerkalov/eboo