#sqlite #anki #study #srs #api-bindings

ankidb

Opinionated library for interacting with Anki's database

9 unstable releases (4 breaking)

Uses new Rust 2024

0.5.1 Mar 8, 2025
0.5.0 Mar 2, 2025
0.4.1 Jul 25, 2024
0.3.0 Dec 16, 2023
0.1.1 Sep 15, 2023

#1068 in Database interfaces

Download history 1/week @ 2024-11-20 2/week @ 2024-12-04 4/week @ 2024-12-11 1/week @ 2024-12-25 146/week @ 2025-02-26 139/week @ 2025-03-05

285 downloads per month

MIT license

27KB
511 lines

ankidb

ankidb gives you an opinionated API to Anki's database.

use ankidb::{Database, query::{self, AnkiExt}};

let db = Database::open(&"/path/to/collection.anki2")?;
let (mut stmt, bind) = db.prepare(query::revlog().count_star())?;
let res: i64 = stmt.query_row(&*bind.as_params(), |row| row.get(0))?;
assert!(res > 100);

lib.rs:

ankidb gives you an opinionated API to Anki's database.

use ankidb::{Database, query::{self, AnkiExt}};

let db = Database::open(&"/path/to/collection.anki2")?;
let (mut stmt, bind) = db.prepare(query::revlog().count_star())?;
let res: i64 = stmt.query_row(&*bind.as_params(), |row| row.get(0))?;
assert!(res > 100);

Dependencies

~26MB
~493K SLoC