BookMinder
BookMinder is a tool designed to extract content and highlights from Apple Books, allowing for analysis with LLMs. It features the ability to list books, extract tables of contents from EPUB files, and export highlighted passages in Markdown format, specifically for use in macOS environments.
GitHub Stars
1
User Rating
Not Rated
Favorites
0
Views
38
Forks
0
Issues
10
BookMinder
A tool to extract content and highlights from Apple Books for LLM analysis.
Features
- List books from Apple Books library
- Extract table of contents from EPUB files
- Extract highlighted passages with context
- Export in Markdown format for LLM consumption
Developer Setup
Requirements
- Python 3.13 (automatically managed by uv)
- macOS (for Apple Books access)
Quick Start
Clone and setup:
git clone https://github.com/palimondo/BookMinder.git
cd BookMinder
Install uv if not already installed:
curl -LsSf https://astral.sh/uv/install.sh | sh
See docs/uv_setup.md for more details.
Create environment and install dependencies:
uv venv --python 3.13
source .venv/bin/activate
uv pip install -e ".[dev]"
pre-commit install
Verify setup works:
pytest --spec
IMPORTANT: Always activate the virtual environment with
source .venv/bin/activatein each new terminal session before running any commands.
Usage
from bookminder.apple_books.library import list_books, find_book_by_title
books = list_books()
book = find_book_by_title("Growing Object-Oriented Software, Guided by Tests")
Command Line Usage
After installation, the bookminder command is available.
List recently read books with reading progress:
bookminder list recent
This shows up to 10 books you're currently reading, ordered by last read date.
Admin Usage
As an administrator, you can examine another user's Apple Books library:
bookminder list recent --user alice
This requires appropriate permissions to access the specified user's Library directory.
Development Workflow
This project follows Test-Driven Development (TDD) with Behavior-Driven Development (BDD) style tests.
Running Tests
Activate environment first (always required):
source .venv/bin/activate
Run tests with BDD output for living documentation:
pytest --spec
Run specific tests:
pytest specs/apple_books/library_spec.py --spec
Check test coverage:
pytest --cov=bookminder --cov-report=term-missing
Code Quality
Run all pre-commit checks:
pre-commit run --all-files
Or run individual tools:
ruff format .
ruff check --fix .
mypy .
License
MIT
5
Followers
14
Repositories
7
Gists
0
Total Contributions
CryptoAnalysisMCP is a cryptocurrency technical analysis tool built with Swift. It supports over 7 million tokens, providing real-time price data and technical indicators. While a Pro subscription is required for day traders, it is suitable for swing traders and long-term investors.