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 08-20-2026, 03:27 PM   #1
Doitsu
Grand Sorcerer
Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.
 
Doitsu's Avatar
 
Posts: 5,908
Karma: 24240563
Join Date: Dec 2010
Device: Kindle PW2
[Editor Plugin] epubveri

This very simple plugin allows you to validate the EPUB currently open in the Edit Book tool using epubveri, a pure-Rust EPUB validator.

It automatically downloads/updates the epubveri binary from GitHub as needed and shows validation results in a dock widget, similar to the built-in Check Book tool.

You can select one or more messages using SHIFT/CTRL+click or CTRL+A and copy them to the clipboard as tab-delimited text.
However, this feature might not work in macOS and certain Linux distros.

DISCLAIMER: This plugin was created with the help of Claude.ai.

License: GNU General Public License v3 (GPL-3)

Version History
Spoiler:

Version 0.0.7 - 30 Aug 2026
version modifed by thiago.eec added
Version 0.0.6 - 23 Aug 2026
usage and advisory preference settings added
Version 0.0.5 - 20 Aug 2026
Initial release.
Attached Files
File Type: zip epubveri.zip (12.6 KB, 281 views)

Last edited by Doitsu; 08-30-2026 at 08:12 AM. Reason: new version with changes by thiago.eec attached
Doitsu is offline   Reply With Quote
Old 08-20-2026, 03:47 PM   #2
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 84,762
Karma: 153788055
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
One issue so far. It opens the output window at the bottom of the screen instead of the top where the epubcheck plugin does.
JSWolf is offline   Reply With Quote
Old 08-21-2026, 05:12 AM   #3
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,426
Karma: 9656783
Join Date: Sep 2020
Device: Libra Colour
Hi!

IMO, the advantage of this implementation is that EPUBCheck and epubveri outputs are displayed in separate UI locations. FYI, I have added epubveri to the calibre Index of Plugins.

Click image for larger version

Name:	MWSnap 2026-08-21, 06_05_22.png
Views:	51
Size:	111.5 KB
ID:	225294
Comfy.n is offline   Reply With Quote
Old 08-21-2026, 05:57 AM   #4
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 84,762
Karma: 153788055
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Quote:
Originally Posted by Comfy.n View Post
Hi!

IMO, the advantage of this implementation is that EPUBCheck and epubveri outputs are displayed in separate UI locations. FYI, I have added epubveri to the calibre Index of Plugins.

Attachment 225294
That's true. What would work is to have an option to have the output window on the bottom or use the one at the top. Because once epubveri is finished, there will be no need for two different windows.
JSWolf is offline   Reply With Quote
Old 08-21-2026, 04:34 PM   #5
thiago.eec
Wizard
thiago.eec ought to be getting tired of karma fortunes by now.thiago.eec ought to be getting tired of karma fortunes by now.thiago.eec ought to be getting tired of karma fortunes by now.thiago.eec ought to be getting tired of karma fortunes by now.thiago.eec ought to be getting tired of karma fortunes by now.thiago.eec ought to be getting tired of karma fortunes by now.thiago.eec ought to be getting tired of karma fortunes by now.thiago.eec ought to be getting tired of karma fortunes by now.thiago.eec ought to be getting tired of karma fortunes by now.thiago.eec ought to be getting tired of karma fortunes by now.thiago.eec ought to be getting tired of karma fortunes by now.
 
Posts: 1,381
Karma: 1589505
Join Date: Dec 2016
Location: Goiânia - Brazil
Device: iPad, Kindle Paperwhite, Kindle Oasis
Quote:
Originally Posted by Comfy.n View Post
FYI, I have added epubveri to the calibre Index of Plugins.
It can't see it using calibre.
thiago.eec is online now   Reply With Quote
Old 08-21-2026, 04:42 PM   #6
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,426
Karma: 9656783
Join Date: Sep 2020
Device: Libra Colour
Quote:
Originally Posted by thiago.eec View Post
It can't see it using calibre.
Noted, thank you. I'm looking into it. The plugin is there, but there might be an issue with the parser.
Comfy.n is offline   Reply With Quote
Old 08-21-2026, 04:45 PM   #7
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 84,762
Karma: 153788055
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Sometimes it takes a little bit for a new plugin to show up.
JSWolf is offline   Reply With Quote
Old 08-23-2026, 11:02 AM   #8
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 84,762
Karma: 153788055
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
This was updated almost 6 hours ago and the new version is not yet showing up in calibre? Is there something wrong somewhere?
JSWolf is offline   Reply With Quote
Old 08-23-2026, 11:26 AM   #9
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,426
Karma: 9656783
Join Date: Sep 2020
Device: Libra Colour
Quote:
Originally Posted by JSWolf View Post
This was updated almost 6 hours ago and the new version is not yet showing up in calibre? Is there something wrong somewhere?
Noted. The initial delay for it show up in the plugin updater was likely due to 429 errors on MR side. The current delay for the updater to serve version 0.0.6 could be the same, so let's wait a bit.
Comfy.n is offline   Reply With Quote
Old 08-23-2026, 11:31 AM   #10
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 84,762
Karma: 153788055
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Quote:
Originally Posted by Comfy.n View Post
Noted. The initial delay for it show up in the plugin updater was likely due to 429 errors on MR side. The current delay for the updater to serve version 0.0.6 could be the same, so let's wait a bit.
429 errors? Why so many errors?
JSWolf is offline   Reply With Quote
Old 08-23-2026, 11:32 AM   #11
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,426
Karma: 9656783
Join Date: Sep 2020
Device: Libra Colour
I mean error type 429
Comfy.n is offline   Reply With Quote
Old 08-23-2026, 11:38 AM   #12
Doitsu
Grand Sorcerer
Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.
 
Doitsu's Avatar
 
Posts: 5,908
Karma: 24240563
Join Date: Dec 2010
Device: Kindle PW2
FYI: I've just checked this. plugins.json.bz2 was updated a couple of minutes ago and the update is now shown in Calibre.
Doitsu is offline   Reply With Quote
Old 08-30-2026, 02:58 AM   #13
Doitsu
Grand Sorcerer
Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.
 
Doitsu's Avatar
 
Posts: 5,908
Karma: 24240563
Join Date: Dec 2010
Device: Kindle PW2
I've uploaded a new version of the plugin that was modified by @thiago.eec. The new version should improve contrast when dark mode is selected. There's now also a new EPUBCheck style summary at the bottom of the message list.

Last edited by Doitsu; 08-30-2026 at 07:49 AM.
Doitsu is offline   Reply With Quote
Old 09-01-2026, 04:46 PM   #14
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: 122
Karma: 200000
Join Date: Jul 2026
Location: Planet Earth
Device: Kobo Forma
I read this plugin line by line as well — see the Sigil thread for the long version, since most of what I found applies to both and most of it was our documentation's fault rather than the plugin's.

The short version, all now documented in INTEGRATING.md:
  • -u decides what the JSON contains. With "show usage messages" off, the summary row at the bottom reports 0 usages — true about the output, false about the book. Pass -u always and let the preference decide what the dock draws.
  • tool_version is in the envelope, so installed_epubveri_version() need not launch a second process to read epubveri -V.
  • Prefer musl on Linux over unknown-linux-gnu: static, and runs on distributions where the gnu build will not start.
  • data.advisory_basis separates NEXT-* (becomes a real error once epubcheck catches up) from ADV-* (never will), if you ever want to show them differently.
  • Exit code 2 still carries a full report — for a missing file or a directory the JSON on stdout holds the explanation and stderr is empty, so the "epubveri was unable to validate the book" dialog currently shows raw JSON as its detail. Parsing stdout first handles both.
  • Verifying the download against the release's SHA256SUMS.txt is about twenty lines; the doc has the recipe, and is honest about the modest thing it buys.

One hygiene note. The archive is opened with extractall(), which Python 3.14 changes the default filtering for and which is the classic path-traversal shape. Sigil's plugin extracts a single named member instead, which is the safer pattern of the two.

And credit where it is due, since the Sigil post named places where this plugin is the better of the two: timeouts on every request, draft and prerelease filtering, falling back to the installed binary when GitHub is unreachable, and the clipboard write that verifies and retries. That last one is not obvious knowledge.
Kayadelenium is offline   Reply With Quote
Old Yesterday, 12:03 PM   #15
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: 122
Karma: 200000
Join Date: Jul 2026
Location: Planet Earth
Device: Kobo Forma
epubveri for calibre 0.1.0, and this is the "I will try to look at it tomorrow" from the Sigil thread.

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

Doitsu — written from calibre's plugin API, with none of your code in it, for the same licensing reason as the Sigil one. Yours is still the one with users, and on Windows and Linux it is the only one: mine has run on macOS and calibre 9.14 and nowhere else. Please leave yours up.

Every finding gets a row with its file, line and message, and activating a row opens the file and puts the cursor on the line. What calibre currently holds is what gets validated, unsaved edits included.

The settingsPreferences / Plugins / epubveri / Customize, and the screenshot is what it looks like. Three switches, all on by default, so out of the box the panel says exactly what the command line says.
  • Keep epubveri up to date automatically. This one is about your connection rather than about versions. Left on, it reads 842 bytes of checksums at most once an hour and installs a newer epubveri if there is one, verifying it before it runs. Turn it off — a metered link, an air-gapped machine, or preference — and the plugin never touches the network again, and never mentions it. The one thing it still tells you is how old your copy is once a month has passed without a check, because that explains a finding that looks wrong.
  • Show usage notes. Messages epubcheck also produces but hides unless you pass -u. They are observations, not defects, and they never move the verdict.
  • Show advisory findings epubcheck does not make. epubveri's own ADV-* checks. Every one of them says so on its own line, and none of them can change VALID or NOT VALID: a book that passes epubcheck passes epubveri.

Two guarantees about those two display switches, because a settings screen is a good place to hide things by accident. Neither can hide an error, a fatal or a warning. And turning one off never makes the report quietly shorter: the summary then says how many findings are not listed and where the switch is.

Two things I could not have found by reading, in case they are worth checking in yours.

container.commit() edits the book. On an EPUB 3 it calls update_modified_timestamp(), so committing the container you are editing — even to a temporary path — rewrites dcterms:modified. Validating would modify the book. Cloning the container first keeps it out.

Cloning alone does not fix it. The timestamp update dirties the OPF, and a dirtied file is re-serialised on the way out rather than copied. calibre's serialiser is not byte-preserving: on my test book it split one line carrying dc:title and dc:language into two and wrote an empty dc:creator as a self-closing tag. The OPF gained a line and every finding below it was reported one line off. Neutralising update_modified_timestamp on the throwaway clone leaves every file byte-identical, which is also what makes the line numbers trustworthy.

Six defects turned up in one day. Five appeared only by running it inside calibre, and the sixth by its own tests, on a fixture whose OPF is laid out the way a person writes one — two real books had missed it. That rate has not flattened, which is why this is 0.1.0 and not 1.0.0.

Bug reports on mine belong on GitHub rather than in your thread. A wrong finding — a wrong error on a good book — is the report I most want, and that one belongs with epubveri itself.
Attached Thumbnails
Click image for larger version

Name:	Calibre_epubveri_settings_0.1.0.png
Views:	9
Size:	521.6 KB
ID:	225659  
Kayadelenium is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Plugin] epubveri - Simple epubveri wrapper Doitsu Plugins 35 Today 02:40 PM
[Editor Plugin] Editor Chains capink Plugins 136 08-30-2026 08:18 PM
[Editor Plugin] Reformat plugin robert.swita Plugins 20 02-07-2026 04:32 PM
[Editor Plugin] Bulk Image Resizer Plugin eliteart Plugins 11 10-27-2024 03:47 PM
[Editor Plugin] - Enabling 'Customize plugin' dialog directly from the Editor thiago.eec Development 7 01-09-2019 08:05 PM


All times are GMT -4. The time now is 06:00 PM.


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