AppleNotes

Ingest notes from macOS Apple Notes (read-only).

Usage

Source

AppleNotes()

Reads from the NoteStore.sqlite database. Notes are opt-in: only notes in a specific folder or containing a tag are ingested.

Parameters

folder: str | None = None

Only ingest notes from this Apple Notes folder name (e.g. "Talk Box"). Case-insensitive.

tag: str | None = None

Only ingest notes containing this tag in the body (e.g. "#tb-knowledge"). Case-insensitive.

db_path: str | Path | None = None

Override the database path (useful for testing).

name: str = "apple-notes"
Connector name (defaults to "apple-notes").

Notes

Apple Notes’ SQLite schema is undocumented and may change between macOS versions. This connector is best-effort and read-only.

At least one of folder or tag must be provided to prevent accidental ingestion of all notes.

Examples

import talk_box as tb

connector = tb.AppleNotes(folder="Talk Box")
for doc in connector.scan():
    print(doc.title)

Methods

Name Description
scan() Yield documents from Apple Notes matching the folder/tag filter.

scan()

Yield documents from Apple Notes matching the folder/tag filter.

Usage

Source

scan()