simple-memo
A simple, MIT-licensed CLI for Apple Notes & Reminders on macOS.
Use it from the terminal, scripts, or AI agents — no restrictions, no confirmation dialogs.
Features
- Full Apple Notes management (create, read, edit, append, move, delete, search, export)
- Full Apple Reminders management (add, complete, edit, delete)
- No confirmation dialogs — all operations resolve internally via Apple's note/reminder IDs
- AI-agent friendly — every command works non-interactively with
-yflag - Markdown in, Markdown out — notes are stored as HTML but you work in Markdown
- Interactive fuzzy search with fzf support
- Pipe-friendly — create notes from stdin
Install
pip install simple-memo
# or
pipx install simple-memo
Notes
simple-memo list # List all notes
simple-memo list -f Work # List notes in a folder
simple-memo folders # List all folders
simple-memo read "Meeting Notes" # Read a note (Markdown)
simple-memo create "Title" "Body text" # Create a note
simple-memo create -i # Create in $EDITOR
simple-memo create "Title" -f Work # Create in specific folder
echo "piped" | simple-memo create "Title" # Create from stdin
simple-memo edit "Meeting Notes" # Edit in $EDITOR
simple-memo append "Title" "More text" # Append to a note
simple-memo move "Title" "Archive" # Move to folder (creates if needed)
simple-memo search "keyword" # Search by content/title
simple-memo search --fzf # Interactive fuzzy search (requires fzf)
simple-memo delete -y "Old Note" # Delete a note
simple-memo count # Count total notes
simple-memo export # Export all to ~/Desktop/simple-memo-export/
simple-memo export -o ./backup # Export to custom directory
simple-memo export --html # Export as HTML instead of Markdown
simple-memo mkfolder "Projects" # Create a folder
simple-memo rmfolder -y "Old Stuff" # Delete a folder
Reminders
simple-memo rem list # List non-completed reminders
simple-memo rem list -a # List all (including completed)
simple-memo rem add "Buy milk" # Create reminder (no due date)
simple-memo rem add "Meeting" -d 2025-03-01 -t 14:00 # With due date
simple-memo rem done "Buy milk" # Mark as completed
simple-memo rem edit "Meeting" --new-title "Team sync" # Rename
simple-memo rem edit "Meeting" --new-date "2025-03-05 10:00" # Reschedule
simple-memo rem delete -y "Old reminder" # Delete
No Confirmation Dialogs
Other Apple Notes CLI tools get stuck on macOS confirmation dialogs when deleting notes or reminders. simple-memo resolves every operation via Apple's internal note/reminder IDs, which bypasses all system dialogs completely. Delete, move, edit — everything works instantly without any popups or timeouts.
Why?
Existing Apple Notes CLI tools use restrictive licenses that prohibit AI usage. simple-memo is MIT-licensed — use it however you want, including with AI agents, commercial products, and automation scripts.
Requirements
- macOS (uses AppleScript to talk to Apple Notes & Reminders)
- Python 3.9+
- Optional: fzf for interactive search
License
MIT — see LICENSE
Metadata
Release files for simple-memo 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simple_memo-0.2.0.tar.gz | 10.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simple_memo-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.7 kB
Release files / simple_memo-0.2.0.tar.gz
| Download URL | simple_memo-0.2.0.tar.gz |
|---|---|
| Size | 10.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
50b69e6df550e59fd85ceb3cb07448dd0f27ad6dea6ce80a3ba976f42e9c7b7b
|
|
BLAKE2b-256 checksum How to use checksums |
a03e5ac55cfcff89361726b68b0d89648a7cb96d42ffd3391685ff5200b1992a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / simple_memo-0.2.0-py3-none-any.whl
| Download URL | simple_memo-0.2.0-py3-none-any.whl |
|---|---|
| Size | 13.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7ab29eeac7984547d883f735833dd963c42d5fe679d3ae5e9eab2d36461fcefe
|
|
BLAKE2b-256 checksum How to use checksums |
7f639164f8fcfaff8d18a6c58859407d584800cea07049abe2d751ddd37b919c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|