Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Plugins

Notices

Reply
 
Thread Tools Search this Thread
Old 09-07-2026, 09:46 AM   #1
Kayadelenium
Zealot
Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.
 
Kayadelenium's Avatar
 
Posts: 140
Karma: 211110
Join Date: Jul 2026
Location: Planet Earth
Device: Kobo Forma
[GUI Plugin] epubveri library

epubveri library checks every book in your calibre library and tells you what is actually wrong with it.

https://github.com/veripublica/epubv...library-v0.1.0

Why it exists, next to the epubveri Edit Book plugin. That one validates the book you have open, and it is very good at that — but it can only tell you about a book you already decided to open. If you have three thousand books, the question you actually have is which ones. Nobody opens three thousand books to find out. This plugin answers that question, and hands the answer to the other plugin.

What you get. Not a list of broken books — a list of defects, each with the number of books carrying it, most widespread first. The shape of it, sketched (your library's rows and numbers will be its own):

Code:
MESSAGE   WHAT IT SAYS                              BOOKS   FINDINGS
RSC-005   element "…" is not allowed here             ...        ...
OPF-003   resource is not declared in the manifest    ...        ...
RSC-007   referenced resource is missing              ...        ...
That shape is the point. A library does not have four hundred unrelated problems; it has a handful of producer defects repeated across hundreds of books. Understand one row and you have understood a hundred books — and if a row is something epubsana can repair, you have a batch job rather than an afternoon.

Then the two plugins join up. Click a row, and calibre's own book list filters to exactly the books that defect is in. Open one in Edit Book and the epubveri plugin puts you on the line. Whichwhat → fixed.

It is fast enough that this is worth doing at all. About 0.2 seconds a book — roughly ten minutes for three thousand, as a background job you can keep working through, and cancelling still shows you what it found. When I timed the two, epubcheck came out around eleven times slower on the same books, and its command line takes one file per run: the same library is an afternoon.

The difference between the two plugins, in full, since they now sit next to each other in the plugin list under the same name:

Code:
                    epubveri                  epubveri library
                    (Edit Book)               (main window)

opens from          Edit Book's toolbar       the calibre toolbar
checks              the book you have open    every book in the library,
                                              or just the ones you select
reads               the book as the editor    the .epub file as it sits
                    holds it, unsaved         on disk
                    changes included
answers             WHAT is wrong             WHICH books have a problem
shows               every finding, in place,  one row per defect, ordered
                    with line and column      by how many books carry it
takes               under a second            about 0.2 s a book
clicking a row      jumps the cursor to it    filters the book list to the
                                              books that row affects
Same validator underneath, same findings, same message ids. Two questions, two answers.

Nothing is bundled and nothing is trusted blindly. The plugin ships no binary: on first use it fetches the epubveri build for your platform from epubveri's own releases and verifies it against that release's published checksums before extracting anything, then re-checks it before every scan. A SHA256SUMS.txt sits beside the plugin zip too, if you want to check what you downloaded.

Installing — it is not in calibre's plugin index yet, so: download the zip, Preferences → Plugins → Load plugin from file, restart calibre. If no button appears, add it under Preferences → Toolbars & menus.

Worth knowing before you try it: it reads the EPUB format only; errors and warnings are ranked while usage notes and epubveri's advisory findings wait behind a checkbox that re-sorts rather than re-scans; and it has run on calibre 9.14 on macOS and nowhere else so far.

If you find anywhere it disagrees with epubcheck, that is the most useful thing you can send me — every real defect these plugins have had arrived that way.
Kayadelenium is online now   Reply With Quote
Old 09-07-2026, 03:42 PM   #2
DNSB
Bibliophagist
DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.
 
DNSB's Avatar
 
Posts: 54,318
Karma: 182161621
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
I tested on my Intake library with 77 books and on my Main library with ~18,000 books. The Intake library took ~38 seconds to report multiple errors and the second took ~3 hours to report 1 error.

The books in the Intake library have not finished my update metadata, correct errors, edit CSS workflow.

This is using Calibre 9.14 running from source with Windows 11 as the OS.
DNSB is offline   Reply With Quote
Old 09-07-2026, 05:35 PM   #3
BetterRed
null operator (he/him)
BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.
 
Posts: 22,824
Karma: 34252730
Join Date: Mar 2012
Location: Sydney Australia
Device: none
Moderator Notice

It's not an Editor plugin, it's a GUI Plugin - thread title changed.

BR

Last edited by BetterRed; 09-07-2026 at 05:43 PM. Reason: add mod tags
BetterRed is offline   Reply With Quote
Old 09-07-2026, 05:45 PM   #4
Kayadelenium
Zealot
Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.
 
Kayadelenium's Avatar
 
Posts: 140
Karma: 211110
Join Date: Jul 2026
Location: Planet Earth
Device: Kobo Forma
38 seconds for 77 books is a perfectly normal duration, but the software likely crashed with 18,000 books. I need to add logging for debugging.

Tomorrow is the first day of school, and I'll likely be at the kids' school. I'll look into the error this evening and try to release a new version.
Kayadelenium is online now   Reply With Quote
Old 09-07-2026, 05:48 PM   #5
Kayadelenium
Zealot
Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.
 
Kayadelenium's Avatar
 
Posts: 140
Karma: 211110
Join Date: Jul 2026
Location: Planet Earth
Device: Kobo Forma
Quote:
Originally Posted by BetterRed View Post

It's not an Editor plugin, it's a GUI Plugin - thread title changed.

BR
Actually, this isn't a GUI; it's a validation plugin. Would you consider creating a separate category for plugins like epub-data or epubcheck?

Neither "GUI" nor "editor" really fits our category perfectly.

Consider that I wrote this not just for the forum, but within Calibre's own application.
Kayadelenium is online now   Reply With Quote
Old 09-07-2026, 06:01 PM   #6
BetterRed
null operator (he/him)
BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.
 
Posts: 22,824
Karma: 34252730
Join Date: Mar 2012
Location: Sydney Australia
Device: none
Quote:
Originally Posted by Kayadelenium View Post
Actually, this isn't a GUI; it's a validation plugin. Would you consider creating a separate category for plugins like epub-data or epubcheck?
Not my decision, take it up with Kovid Goyal.

BR
BetterRed is offline   Reply With Quote
Old 09-07-2026, 06:03 PM   #7
Comfy.n
want to learn what I want
Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.
 
Posts: 2,433
Karma: 9656783
Join Date: Sep 2020
Device: Libra Colour
Hi,

Currently the friendly name for GUI Plugin is "Extend calibre generally":

Click image for larger version

Name:	MWSnap 2026-09-07, 18_58_59.png
Views:	9
Size:	7.6 KB
ID:	225767

IMO, this convention fits this plugin, but a new category can be arranged, I guess.

I had sent you a PM about this earlier today.
Comfy.n is offline   Reply With Quote
Old 09-07-2026, 06:56 PM   #8
DNSB
Bibliophagist
DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.
 
DNSB's Avatar
 
Posts: 54,318
Karma: 182161621
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
Quote:
Originally Posted by Kayadelenium View Post
38 seconds for 77 books is a perfectly normal duration, but the software likely crashed with 18,000 books. I need to add logging for debugging.

Tomorrow is the first day of school, and I'll likely be at the kids' school. I'll look into the error this evening and try to release a new version.
It didn't crash. It just took rather long to run. The one error reported was a book in which I has switched to using an SVG wrapper for a full page image and did not update the manifest.

Using the numbers from the Intake library compared to the Main library, the time is about right. The Main library has a higher percentage of omnibuses since I have a habit of converting a completed series into an omnibus volume.

Edit: Reran the epubveri library test while not running a collection of VMs running in the background and the time for the check dropped to 1hr 29 min. Having that mix of Windows and Linux VMs updating was not that big a CPU load but they keep the disk usage about 80%. Gave the computer something to do while I was watching the CFL Labour Day classic games.

Last edited by DNSB; 09-07-2026 at 11:10 PM. Reason: Edit: timing when system load reduced.
DNSB is offline   Reply With Quote
Old Yesterday, 07:53 AM   #9
Kayadelenium
Zealot
Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.Kayadelenium ought to be getting tired of karma fortunes by now.
 
Kayadelenium's Avatar
 
Posts: 140
Karma: 211110
Join Date: Jul 2026
Location: Planet Earth
Device: Kobo Forma
epubveri library 0.1.1https://github.com/veripublica/epubv...library-v0.1.1

New — the logging I promised in #4. A scan now writes a progress line every 2.5% of the way through, carrying the position, the time so far and the seconds per book, so a run that stops for any reason says where it got to. Books that cannot be read are named as they happen, a cancelled scan says where it stopped, and the opening lines name the validator binary being used.

The log stays about forty lines whether the library holds a hundred books or twenty thousand. One line per book was the obvious version and the wrong one — DNSB, your 18 000 books would have produced 18 000 lines, written on the job thread inside the loop being timed. What shipped costs nothing measurable: 120 books took 14.32 s with it and 14.34 s without.

DNSB, on whether an hour and a half was normal — the last line of the log now gives the rate, so a run answers that about itself. And I measured the part that is mine: over 120 books this plugin's own overhead, everything that is not the validator, is 2 ms per book — 1.6% of the total. So the number your library reports is essentially a fact about your machine and your books, not about the plugin. 0.30 s/book on Windows against 0.125 s/book here is the platform, not the wrapper.

Also: the example report in the README used to print the real counts from the library I designed it against. Those read as a claim about EPUBs in general, which they are not — every library's rows are its own — so the columns stayed and the numbers became placeholders.

On the category question I raised in #5: Comfy.n's answer in #7 settles it. "Extend calibre generally" is what this does, and I will leave it there rather than take it further.

The zip and its checksums are on the release page. Install with Preferences → Plugins → Load plugin from file, then restart calibre.
Kayadelenium is online now   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Editor Plugin] epubveri Doitsu Plugins 31 Yesterday 07:28 AM
[Plugin] epubveri - Simple epubveri wrapper Doitsu Plugins 36 Yesterday 07:03 AM
[GUI-Plugin] Library Codes-SRU davidjoseph1 Plugins 38 06-22-2026 02:47 PM
[GUI Plugin] Library Codes DaltonST Plugins 373 07-12-2024 11:04 AM
[GUI Plugin] Library Splitter DaltonST Plugins 31 07-11-2022 03:09 AM


All times are GMT -4. The time now is 10:08 AM.


MobileRead.com is a privately owned, operated and funded community.