Terminal-based note-taking app for computer science students
Project description
OpenPad
█▀▀█ █▀▀█ █▀▀▀ █▀▀▄ █▀▀█ █▀▀█ █▀▀▄
█ █ █▀▀▀ █▀▀▀ █ █ █▀▀▀ █▀▀█ █ █
▀▀▀▀ ▀ ▀▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀▀▀▀
A fast, terminal-based note-taking app designed for computer science students.
Write, organize, and search Markdown notes — directly from your terminal.
🚀 Install
pip install openpad
Run:
openpad
✨ Features
- 📁 Folder-based note organization
- 📝 Markdown support (headers, lists, code blocks)
- 🎨 12 built-in themes (Tokyo Night, Catppuccin, Gruvbox…)
- 🔍 Full-text search across all notes
- ⚡ Auto-save while typing
- 🧠 Syntax highlighting for 20+ languages
- 📅 Google Calendar integration (optional)
- 🪶 Lightweight (Textual-based, no Electron)
- 📦 Notes stored as plain Markdown files
⌨️ Key Bindings
| Key | Action |
|---|---|
n |
New note |
ctrl+n |
New folder |
e |
Toggle edit mode |
ctrl+f |
Search |
ctrl+t |
Change theme |
ctrl+c |
Open calendar |
d |
Delete note |
escape |
Exit edit mode |
q |
Quit |
📂 Data Storage
Your data is stored locally:
| Path | Purpose |
|---|---|
~/.openpad/notes/ |
All notes |
~/.openpad/meta.json |
Settings (theme, etc.) |
📅 Google Calendar (Optional)
To enable calendar:
- Get Google API credentials
- Place file here:
~/.openpad/credentials.json
If not configured, OpenPad will still work normally.
🧪 First Run
OpenPad automatically creates sample notes to help you get started.
🧠 Why OpenPad?
- No setup complexity
- Works inside your existing terminal workflow
- Faster than GUI note apps
- Your notes are just
.mdfiles — no lock-in
💻 Requirements
- Python 3.10+
- Terminal with true color support
- Linux / macOS / Windows (WSL or Windows Terminal)
🪟 Windows Support
Works with:
- Windows Terminal (recommended)
- WSL (Ubuntu, etc.)
🛠 Development
Clone and run locally:
git clone <your-repo-url>
cd openpad
pip install -e .
openpad
🐛 Troubleshooting
Colors look wrong
echo $TERM
# should be xterm-256color
Permission issues
ls -la ~/.openpad/
📄 License
MIT License
Built with https://textual.textualize.io/
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openpad-1.0.3.tar.gz.
File metadata
- Download URL: openpad-1.0.3.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca6a01b386a160801d4229f462cd770bfa63e01b1d18afc60167be62849bd64f
|
|
| MD5 |
d940181004a4b4bf25b942e78d149025
|
|
| BLAKE2b-256 |
240e2986bdd4890461e62206313119994d7873ed5963f242e05fd45848129d82
|
Provenance
The following attestation bundles were made for openpad-1.0.3.tar.gz:
Publisher:
publish.yml on xela-prog/openpad-full
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openpad-1.0.3.tar.gz -
Subject digest:
ca6a01b386a160801d4229f462cd770bfa63e01b1d18afc60167be62849bd64f - Sigstore transparency entry: 1375762119
- Sigstore integration time:
-
Permalink:
xela-prog/openpad-full@c3420f5225c0894e1589170d9dc1b78aa97853c2 -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/xela-prog
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c3420f5225c0894e1589170d9dc1b78aa97853c2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openpad-1.0.3-py3-none-any.whl.
File metadata
- Download URL: openpad-1.0.3-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40598bd8a2674a27cca6129e304fb346746caee3f32ec1da1f2522f886b904d9
|
|
| MD5 |
5c58ab665410490285038078bd0ab11e
|
|
| BLAKE2b-256 |
73798bcf03d00e72016e3feb7141e96ce4782b5310f21b4f7a31827b87d84871
|
Provenance
The following attestation bundles were made for openpad-1.0.3-py3-none-any.whl:
Publisher:
publish.yml on xela-prog/openpad-full
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openpad-1.0.3-py3-none-any.whl -
Subject digest:
40598bd8a2674a27cca6129e304fb346746caee3f32ec1da1f2522f886b904d9 - Sigstore transparency entry: 1375762146
- Sigstore integration time:
-
Permalink:
xela-prog/openpad-full@c3420f5225c0894e1589170d9dc1b78aa97853c2 -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/xela-prog
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c3420f5225c0894e1589170d9dc1b78aa97853c2 -
Trigger Event:
push
-
Statement type: