6 releases (breaking)

0.4.0 Oct 13, 2022
0.3.1 Nov 7, 2021
0.3.0 Mar 2, 2021
0.2.0 Mar 2, 2021
0.0.0 Feb 7, 2021

#1436 in Text processing

22 downloads per month

CC0 license

18KB
344 lines

Readwise

A rust wrapper for the Readwise API.

Installation

Simply add readwise to your Cargo.toml file:

readwise = "0.4.0"

Example

Here is a small example showcasing the main functionality of the library.

use {
  dotenv::dotenv,
  readwise::client::Client,
  std::{collections::HashMap, env},
};

fn main() {
  dotenv().ok();

  let client = Client::new(&env::var("ACCESS_TOKEN").unwrap()).unwrap();

  // Fetch all books on page 1
  for book in client.books(1).unwrap() {
    println!("{}", book.title);
  }

  // Fetch all highlights on page 1
  for highlight in client.highlights(1).unwrap() {
    println!("{}", highlight.id);
  }

  // Create highlight(s)
  let mut new_highlight = HashMap::new();
  new_highlight.insert("text", "hello world!");

  for highlight in client.create_highlights(vec![new_highlight]).unwrap() {
    println!("{}", highlight.text);
  }

  // Update a highlight by ID
  let mut fields = HashMap::new();
  fields.insert("text", "hello, world!");
  client.update_highlight(138105649, fields).unwrap();

  // Delete a highlight by ID
  client.delete_highlight(136887156).unwrap();
}

Dependencies

~4–18MB
~237K SLoC