PyNote is a lightweight, cross-platform desktop text editor built with Python + Tkinter. It's designed for college-level contributors: approachable for beginners, with room for intermediate and harder issues (syntax highlighting, plugin system, mini-map, markdown preview).
- Give new contributors immediate, visible wins (UI, theming, docs)
- Provide medium/hard tasks that teach useful skills (file I/O, tokenizers, UI architecture)
- Produce a usable editor students will be proud of
- ✅ Open / Save / Save As
- ✅ Undo / Redo
- ✅ Line numbers
- ✅ Status bar showing line/column
- ✅ Basic keyboard shortcuts (Ctrl+S, Ctrl+O, Ctrl+Z)
- ✅ Light / Dark theme toggle
- ✅ Autosave (configurable)
- Tabbed editing (multiple files)
- Find & Replace dialog
- Syntax highlighting for Python / JavaScript / HTML
- Settings saved to JSON
- Recent files list
- Markdown preview (split view)
- Plugin system (simple hook-based)
- Spell checking (integrate
pyspellchecker)
- Python 3.10+ (3.11 recommended)
- Clone the repository:
git clone https://github.com/YOUR_ORG/PyNote.git
cd PyNote- Create virtual environment and install dependencies:
python -m venv .venv
# On Windows:
.venv\Scripts\activate
# On macOS/Linux:
source .venv/bin/activate
pip install -r requirements.txt- Run the application:
python -m src.pynote.mainPyNote/
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ └── workflows/
│ └── python-app.yml
├── docs/
│ ├── ROADMAP.md
│ └── DESIGN.md
├── src/
│ └── pynote/
│ ├── __init__.py
│ ├── main.py # starter app
│ ├── editor.py # Text widget wrapper
│ ├── ui.py # UI components (menus, dialogs)
│ ├── themes.py # theme definitions
│ └── utils.py # helper functions
├── tests/
│ └── test_utils.py
├── examples/
│ └── example.md
├── CONTRIBUTING.md
├── README.md
├── LICENSE
└── requirements.txt
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Look for issues labeled
good first issueto get started - Check the ROADMAP.md for project milestones
- All PRs should reference an issue
See docs/ROADMAP.md for detailed milestones:
v0.1 - MVP(Open/Save, menu, status bar, shortcuts)v0.2 - UX(themes, line numbers, autosave)v0.3 - Power features(tabs, find/replace, syntax highlighting)v1.0 - Release(stable, docs, tests)
Found a bug or have a feature request? Please use our issue templates!
This project is licensed under the MIT License - see the LICENSE file for details.
Happy Coding! 🎉