asimov-readwise-module

Crates.ioasimov-readwise-module
lib.rsasimov-readwise-module
version0.1.1
created_at2025-11-06 06:26:27.34295+00
updated_at2025-11-06 06:26:27.34295+00
descriptionASIMOV module.
homepagehttps://github.com/asimov-modules
repositoryhttps://github.com/asimov-modules/asimov-template-module
max_upload_size
id1919139
size85,446
rust (github:asimov-modules:rust)

documentation

README

ASIMOV Readwise Module

License Package on Crates.io Documentation

ASIMOV module for importing data from Readwise and converting it to JSON-LD format.

✨ Features

  • 📚 Import Highlights: Fetch and convert Readwise highlights to JSON-LD
  • 📖 Import Books: Fetch and convert Readwise book lists to JSON-LD
  • 🏷️ Import Tags: Fetch and convert Readwise tags to JSON-LD
  • 🔄 JSON-LD Output: Structured data compatible with KNOW ontology
  • Fast & Reliable: Built with Rust for performance and safety
  • 🚦 Rate Limit Aware: Respects Readwise API limits and provides clear error handling

🛠️ Prerequisites

  • Rust 1.85+ (2024 edition) if building from source code
  • Readwise account with API access
  • READWISE_API_KEY environment variable

⬇️ Installation

Installation with the ASIMOV CLI

asimov module install readwise -v

Installation from Source Code

cargo install asimov-readwise-module

👉 Examples

Import Highlights

# Import all highlights (transparent pagination)
asimov-readwise-importer https://readwise.io/highlights

# Import first 100 highlights only
asimov-readwise-importer https://readwise.io/highlights --page-size 100

# Import specific page
asimov-readwise-importer https://readwise.io/highlights --page 2 --page-size 50

Import Books

# Import all books (transparent pagination)
asimov-readwise-importer https://readwise.io/books

# Import first 50 books only
asimov-readwise-importer https://readwise.io/books --page-size 50

Import Tags

asimov-readwise-importer https://readwise.io/tags

Other Commands

# Show version information
asimov-readwise-importer --version

# Show license information
asimov-readwise-importer --license

# Show help
asimov-readwise-importer --help

⚙ Configuration

API Key Setup

Set your Readwise API key as an environment variable:

export READWISE_API_KEY="your-api-key-here"

Or use a .env file:

READWISE_API_KEY=your-api-key-here

Get your API key from: https://readwise.io/access_token

Rate Limiting

Heads up: This module plays nice with Readwise's API limits. If you get HTTP 429 errors (too many requests):

  • Just wait a bit: The API will throw an error if you're going too fast
  • No auto-retry: We don't automatically retry failed requests
  • Take it slow: If you're grabbing lots of data, give it some breathing room

The limits: This plugin is limited to 20 requests per minute due to Readwise's API restrictions.

👨‍💻 Development

git clone https://github.com/asimov-modules/asimov-readwise-module.git
cd asimov-readwise-module
cargo test

Share on X Share on Reddit Share on Hacker News Share on Facebook Share on LinkedIn

Commit count: 0

cargo fmt