#sqlite #study #anki #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

#1344 in Database interfaces

Download history 6/week @ 2024-12-08 1/week @ 2024-12-29 1/week @ 2025-02-23 212/week @ 2025-03-02 79/week @ 2025-03-09 7/week @ 2025-03-16

298 downloads per month

MIT license

27KB
511 lines

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);

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);

Dependencies

~26MB
~491K SLoC