Skip to main content
  __  __            _                     
 |  \/  |          | |                    
 | \  / | __ _ _ __| | _____  _ __ __ _   
 | |\/| |/ _` | '__| |/ / _ \| '__/ _` |  
 | |  | | (_| | |  |   < (_) | | | (_| |  
 |_|  |_|\__,_|_|  |_|\_\___/|_|  \__,_|  

⚡ Sovereign Markor-style Markdown Notebook, QuickNotes & Todo TUI for Terminal Power Users

PyPI Version PyPI Downloads CI License: MIT Python: 3.8+

Features • Interactive TUI • Installation • CLI Reference • TUI Shortcuts • Google Keep Sync • Configuration


💡 Why Markora?

If you love the simplicity, offline-first philosophy, and markdown-native architecture of the popular Android app Markor, Markora brings that exact seamless experience straight into your terminal.

  • Zero Cloud Lock-in: Your data is 100% plain Markdown files in ~/Documents (or your custom directory). You own your notes forever.
  • Zero Heavy Dependencies: Core CLI and interactive TUI run entirely on the Python 3 standard library. No Electron bloat, no node_modules, no heavy frameworks.
  • Dual Personality: Run markora or td directly to launch the interactive 4-tab Curses TUI, or use high-velocity one-liner CLI commands (td a, td ls, td qn) for fast capture and scriptability.
  • Seamless Portability: Sync your folder with Syncthing, Nextcloud, Git, or Android Markor without converting formats.

✨ Key Features

Feature Description
📝 QuickNote / Scratchpad Instant timestamped brain dumps saved directly to quicknote.md.
✅ To-Do & Milestones Parse and manage markdown task lists with priorities (P1, P2, P3), tags (#urgent, @work), sections, and sub-items.
📚 Notebook Tree Hierarchical directory tree with folding/unfolding, file counts, and folder creation.
⭐ Star & Pin Favorites Pin your most crucial notes to the top for instantaneous access.
🔍 Global Full-Text Search Real-time substring and regex search across all markdown files with direct line jumping into $EDITOR.
🖱️ Full Mouse & Keyboard Click tabs, check/uncheck tasks, fold folders, and scroll panes with full terminal mouse support.
🔄 Google Keep Bridge Optional bidirectional sync with Google Keep (markora keep sync) for seamless mobile-to-desktop workflow.

🖥️ Interactive Curses TUI

Launch with markora ui (or alias td ui):

┌────────────────────────────────────────────────────────────────────────┐
│ MARKORA NOTEBOOK | SSOT: TODOLIST.md                                   │
├────────────────────────────────────────────────────────────────────────┤
│ [1] QuickNote   [2] To-Do   [3] Notebook   [4] Search    Filter: (none)│
├──────────────────────────────────┬─────────────────────────────────────┤
│ > [✔] # 1 [P1] Deploy core v1.0  │ Task #1 Details                     │
│   [ ] # 2 [P2] Write user manual │ Section : ACTIVE TASKS              │
│   [ ] # 3 [P3] Refactor keep api │ Status  : DONE                      │
│                                  │ Priority: P1                        │
│                                  │ Scope: Production release           │
│                                  │ Deliverables: Clean package         │
├──────────────────────────────────┴─────────────────────────────────────┤
│ [Space] Toggle [a] Add [r] Edit [d] Del [e] Editor [s] Sync Keep [q]   │
└────────────────────────────────────────────────────────────────────────┘

📦 Installation

# Standard install (Zero external dependencies)
pip install markora

# With optional Google Keep synchronization
pip install "markora[keep]"

Option 2: 1-Line Standalone Installer

curl -fsSL https://raw.githubusercontent.com/zyekhabdul/markora/main/install.sh | bash
git clone https://github.com/zyekhabdul/markora.git ~/Projects/markora
cd ~/Projects/markora
make symlink

🚀 CLI Command Reference

All commands support both markora and the ultra-short alias td. Running either without arguments launches the interactive TUI directly.

# --- Launch Interactive TUI (Default) ---
markora                                   # Launch 4-tab Curses TUI
td                                        # Same as markora (2-keystroke shortcut)
td ui                                     # Explicit TUI launcher

# --- QuickNotes ---
td qn "Remember to review pull request"   # Append thought
td qn                                     # View quicknotes
td qn -e                                  # Edit in $EDITOR

# --- Task Management ---
td a "Ship version 1.0" -p p1             # Add high-priority task (alias: markora add)
td a "Research new indexing" -s "Inbox"   # Add to specific section
td ls                                     # List all tasks (alias: markora list)
td ls -p                                  # Show only pending tasks
td ls -d                                  # Show completed tasks
td ls -t #backend                         # Filter by tag
td do 1 3                                 # Complete tasks #1 and #3 (alias: markora done)
td undo 2                                 # Mark task #2 pending (alias: markora undone)
td x 1                                    # Toggle completion status
td rm 4                                   # Delete task #4

# --- Markdown Notebook ---
td n "System Architecture"                # Create new note in notes/ (alias: markora note)
td n -d                                   # Open today's daily note
td nl                                     # List all notebook files (alias: markora notes)
td find "authentication"                  # Search across all notes (alias: markora search)
td fav list                               # List starred notes
td fav add notes/project.md               # Star a note

# --- Integrations ---
td keep auth                              # Connect Google Keep
td keep sync                              # Two-way sync with Keep

⌨️ TUI Keyboard Shortcuts

Key Context Action
1 / 2 / 3 / 4 Global Switch directly to Tab 1–4
Tab Global Cycle to next tab
j / k / ↑ / ↓ Navigation Move cursor up / down
g / G Navigation Jump to top / bottom of list
Space / x To-Do Tab Toggle task checkbox ([ ] ↔ [✔])
a Global Append QuickNote or Add To-Do task
t QuickNote Insert current timestamp log entry
n Notebook Create new .md note in highlighted folder
N / m Notebook Create new subfolder
f / p Notebook Star / Toggle Favorite note [⭐]
r / R Global Rename note/folder or edit task title
d Global Delete task, note, or directory (with confirmation)
Enter / l / → Notebook Open note in $EDITOR / Expand folder
h / ← Notebook Collapse folder / Jump to parent folder
e Global Open current document in $EDITOR (nvim, zed, etc.)
s / S Global Trigger Google Keep bidirectional synchronization
/ Global Live filter tree / search query
Esc Global Clear filter query
Ctrl+R Global Force reload data from disk
? Global Open interactive Keyboard Shortcut Help Modal
q Global Quit Markora

🔄 Google Keep Bidirectional Sync

Markora includes a built-in sync engine that maps your Google Keep notes to your local markdown hierarchy:

  • Daily Notes → Synced with Keep notes labeled daily-notes
  • QuickNote → Synced with Keep note titled QuickNote
  • General Notes → Synced with Keep notes labeled notes

How to Authenticate:

# Install Keep dependencies
pip install "markora[keep]"

# Run interactive auth (automated browser popup or token paste)
markora keep auth

# Perform two-way sync
markora keep sync

⚙️ Configuration

Markora respects standard Unix configuration paradigms and environment variables:

Environment Variable Default Purpose
MARKORA_NOTES_DIR / NOTES_DIR ~/Documents Root directory for your markdown notes
MARKORA_TODO_FILE / TODO_FILE $NOTES_DIR/TODOLIST.md Master todolist markdown file
EDITOR / VISUAL nvim (fallback: zed, nano, vi) Preferred text editor

Config files are stored in ~/.config/markora/ (with automatic fallback to ~/.config/td/).


🐚 Shell Completion

Shell completion scripts for Bash and Zsh are located in completions/:

# Bash
source <(cat completions/markora.bash)

# Zsh
cp completions/markora.zsh ~/.zsh/completion/_markora

🛠️ Development & Testing

git clone https://github.com/zyekhabdul/markora.git
cd markora

# Setup editable install with test dependencies
make dev

# Run comprehensive test suite
make test

# Lint & syntax validation
make lint

📄 License

MIT License © 2026 zyekhabdul. Built with craftsmanship for sovereign terminal enthusiasts.

Metadata

Release files for markora 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for markora 1.1.0
File Size Uploaded
markora-1.1.0.tar.gz 37.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for markora 1.1.0
File Interpreter ABI Platform
markora-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 71.1 kB

Release files / markora-1.1.0.tar.gz

Download URL markora-1.1.0.tar.gz
Size 37.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b1d0ce59f0075b5879bd7d3e0a55f802133dc57c14d42e0138718be7fb45fd8d
BLAKE2b-256 checksum
How to use checksums
fd242ec558bf784cd68da376975fa15a1a3883359e97cce04130c912c3441fd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / markora-1.1.0-py3-none-any.whl

Download URL markora-1.1.0-py3-none-any.whl
Size 34.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20d5d0f28c102dc6f337025ec00986413f445b4cb1f0d8435c0d3bb96e6ffe4c
BLAKE2b-256 checksum
How to use checksums
2b2bd7eaf6bacbe35c103bab60fba85ff358ab6f57839451aace2ba698ac2645
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page