PHPackages                             mikespub/epub-loader - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mikespub/epub-loader

ActiveProject[Utility &amp; Helpers](/categories/utility)

mikespub/epub-loader
====================

epub-loader is a utility resource for ebooks

4.0.5(1mo ago)0477↓80%2GPL-2.0-or-laterPHPPHP &gt;=8.4

Since Sep 9Pushed 1w ago1 watchersCompare

[ Source](https://github.com/mikespub-org/epub-loader)[ Packagist](https://packagist.org/packages/mikespub/epub-loader)[ RSS](/packages/mikespub-epub-loader/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependencies (8)Versions (67)Used By (2)

EPub Loader
===========

[](#epub-loader)

Prerequisites for this fork
---------------------------

[](#prerequisites-for-this-fork)

- PHP 8.x with DOM, GD, Intl, Json, PDO SQLite, SQLite3, XML, Zip and ZLib support (PHP 8.4 or later recommended)
- Release 4.x.x will only work with PHP &gt;= 8.4 - typical for most source code &amp; docker image installs in 2025 and later
- Release 3.x.x will only work with PHP &gt;= 8.2 - typical for most source code &amp; docker image installs in 2024 and later
- Release 2.x.x will only work with PHP &gt;= 8.1 - typical for most source code &amp; docker image installs in 2023 and later
- Release 1.x.x still works with PHP 7.4 if necessary - earlier PHP 7.x (or 5.x) versions are *not* supported with this fork

Dependencies
------------

[](#dependencies)

- This package depends on [mikespub/php-epub-meta](https://packagist.org/packages/mikespub/php-epub-meta) (seblucas/php-epub-meta) to get metadata from EPub files
- It is a complementary app for [mikespub/seblucas-cops](https://packagist.org/packages/mikespub/seblucas-cops) = COPS - Calibre OPDS (and HTML) PHP Server

They have the same PHP version dependencies for 1.x, 2.x, 3.x and 4.x releases

Description
-----------

[](#description)

EPub Loader is a utility package for ebooks. It can be used as a stand-alone project or included in your own PHP application.

It supports multiple databases defined by name, database path and epub path where its ebooks are located. You can create new Calibre-compatible databases with EPub Loader, or use existing Calibre databases from elsewhere.

Main features are:

- Import:
    - create Calibre database with available ebooks
    - import CSV/JSON records into new Calibre database
    - load JSON files from Lookup cache into new Calibre database
- Export:
    - export CSV/JSON records with available ebooks
    - dump CSV/JSON records from Calibre database
    - export metadata cache via callbacks to your own application
- Lookup:
    - match ebooks and authors with WikiData
    - match ebooks and authors with Google Books
    - match ebooks and authors with OpenLibrary
    - match ebooks and authors with GoodReads
    - explore content of metadata cache
- Extra:
    - check book links by identifier type
    - get existing notes from Calibre notes.db
    - update ebook metadata with mikespub/php-epub-meta
    - run extra actions defined in your own application

Installation (stand-alone)
--------------------------

[](#installation-stand-alone)

```
composer create-project mikespub/epub-loader
```

- If a first-time install, copy `app/config.php.example` to `app/config.php`
- Edit config.php to match your config
- Open the app directory url: [./app/index.php](./app/index.php)

Installation (included)
-----------------------

[](#installation-included)

```
composer require mikespub/epub-loader
```

- Run `composer install -o` to install all package dependencies and optimize autoloader if needed
- You can use `Marsender\EPubLoader\RequestHandler` to handle the request like in [./app/index.php](./app/index.php)

```
use Marsender\EPubLoader\RequestHandler;

// get the global config for epub-loader from somewhere
// get the current action, dbNum and urlParams if any

// you can define extra actions for your app - see example.php
$handler = new RequestHandler($gConfig, ExtraActions::class, $cacheDir);
$result = $handler->request($action, $dbNum, $urlParams);

// handle the result yourself or let epub-loader generate the output
$result['endpoint'] = 'index.php/loader';
$result['app_name'] = 'My EPub Loader';
echo $handler->output($result, $templateDir, $template);
```

Adding extra actions
--------------------

[](#adding-extra-actions)

- You can add extra actions on databases and/or epub files as shown in [./app/example.php](./app/example.php)

```
class ExtraActions extends ActionHandler
{
    // ...

    public function more()
    {
        // do some more...
        return [
            'result' => 'This is more...',
            'extra' => 'easy',
        ];
    }
}
```

License &amp; Copyright
-----------------------

[](#license--copyright)

This package is available under the GNU General Public License v2 or later - see [LICENSE](LICENSE)

EPub Loader was first distributed as [resource for COPS](https://github.com/seblucas/cops/tree/master/resources/epub-loader) - Calibre OPDS (and HTML) PHP Server. This fork is now a separate package that can work alone or be integrated with other web applications.

Copyright (C) 2013-2021 Didier Corbière Copyright (C) 2023- mikespub

###  Health Score

53

—

FairBetter than 96% of packages

Maintenance95

Actively maintained with recent releases

Popularity15

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 90.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~15 days

Recently: every ~26 days

Total

66

Last Release

43d ago

Major Versions

1.5.3 → 2.0.12023-09-09

1.5.4 → 2.0.22023-09-10

1.5.5 → 2.0.32023-09-10

2.x-dev → 3.0.02024-03-14

3.x-dev → 4.0.02025-11-27

PHP version history (4 changes)2.0.0PHP &gt;=8.1

1.5.2PHP &gt;=7.4

3.0.0PHP &gt;=8.2

4.0.0PHP &gt;=8.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1447115?v=4)[Mike's Pub](/maintainers/mikespub)[@mikespub](https://github.com/mikespub)

---

Top Contributors

[![mikespub](https://avatars.githubusercontent.com/u/1447115?v=4)](https://github.com/mikespub "mikespub (199 commits)")[![marsender](https://avatars.githubusercontent.com/u/279979?v=4)](https://github.com/marsender "marsender (20 commits)")

---

Tags

calibreebookepub

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mikespub-epub-loader/health.svg)

```
[![Health](https://phpackages.com/badges/mikespub-epub-loader/health.svg)](https://phpackages.com/packages/mikespub-epub-loader)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
