Book sources
Search and browse a catalogue from Get books. Dalibre downloads the file and adds it to your library with the metadata the plugin gave. OPDS catalogs work too.
Built in: Project Gutenberg
E-book library manager
Dalibre is a calm, fast desktop app for your e-books. It opens the library you already have, in a single 23 MB binary, and grows with plugins anyone can write.
The Three-Body Problem
The Dark Forest
Death's End
Foundation
Dune
The Left Hand of Darkness
红楼梦
Piranesi
Invisible Cities
Thinking, Fast and Slow
The Name of the Rose
Klara and the Sun
Neuromancer
Structure and Interpretation of Computer Programs
Snow Crash
01 · Lightweight
calibre is a toolbox for everything you could do to an e-book. Dalibre does the everyday part, managing your library, and does it in one native binary: written in Go, no webview, no bundled Python, no runtime to install.
Size on disk on macOS: calibre.app 9.18 as installed, and the Dalibre release binary.
02 · Extensible
Plugins add places to get books and to look them up: open catalogues, OPDS servers, the server in your closet. Every one shows up in the same calm UI, because plugins give data and never draw it.
Search and browse a catalogue from Get books. Dalibre downloads the file and adds it to your library with the metadata the plugin gave. OPDS catalogs work too.
Built in: Project Gutenberg
Look a book up by title, authors and identifiers. Candidates show up in Fetch metadata, next to your own values; you pick which fields to take.
Built in: NeoDB (Douban, Goodreads and more)
No build step, nothing to install.
// @ts-check
export async function search({ text, page }) {
const res = await dalibre.fetch(
`https://books.example.com/api?q=${text}&p=${page}`
);
const { books, next } = await res.json();
return {
items: books.map((b) => ({
id: b.id,
title: b.title,
authors: b.authors,
cover: b.cover,
formats: [{ format: "EPUB", url: b.epub }],
})),
hasMore: Boolean(next),
};
}Sandboxed
Runs in QuickJS inside Dalibre, with only the hosts and library access it asks you for.
Typed
dalibre.d.ts gives completions and checks in any editor. TypeScript welcome.
Tooling
dalibre-plugin scaffolds, checks, tries out and packs a plugin from the terminal.
03 · No migration
Dalibre reads and writes calibre's own format. Open your library in either app, any day; nothing to import, nothing to export.
metadata.db schema, triggers and allmetadata.opf, so calibre picks them upDalibre is in development. The first release is on its way.