#api-bindings #ebook #diesel #calibre

calibre-db

Types and functions for interacting with the Calibre library database

2 releases

0.1.1 Jul 25, 2021
0.1.0 Jul 23, 2021

#2757 in Database interfaces

CC0 license

10KB
391 lines

calibre-db-rs

Rust types and functions for interacting with the Calibre eBook Library database.

99% of functionality provided via Diesel :hattip:

To-Do

Full support for annotations and custom columns is yet to be implemented.

Sample Usage

[dependencies]
calibre-db = "0.1.0"
let conn = diesel::sqlite::SqliteConnection::establish("/path/to/library/db")
    .expect("failed to open Calibre DB");

let books = calibre_db::books::dsl::books
    .load::<calibre_db::Book>(&conn)
    .expect("error loading books");

println!("# of books - {}", books.len());

License

Dedicated to the Public Domain.

Dependencies

~24MB
~466K SLoC