A powerful Windows application to extract, organize, and analyze Microsoft Sticky Notes with both CLI and GUI interfaces.
Features • Installation • Quick Start • Documentation • Contributing
Sticky Note Organizer is a comprehensive tool designed to help you manage your Microsoft Sticky Notes more effectively. It automatically detects your sticky notes database, intelligently categorizes notes by themes, and provides both a user-friendly GUI and powerful CLI for maximum flexibility.
Perfect for:
- 📊 Analyzing your note-taking patterns
- 🗂️ Organizing hundreds of notes automatically
- 💾 Backing up your important notes
- 📤 Exporting notes to multiple formats (CSV, JSON, Excel, Markdown)
- 🔍 Searching and filtering notes efficiently
- 📈 Visualizing statistics and insights
- 🎯 Auto-Detection: Automatically finds your Microsoft Sticky Notes database
- 🤖 Smart Categorization: Organizes notes into 12+ intelligent categories
- Business Ideas, Financial/Money, Technology/Development
- Work/Career, Personal Goals, Tasks/Reminders
- Contacts/People, Travel/Places, Shopping, and more!
- 📦 Multiple Export Formats: CSV, JSON, Excel, Markdown, and summary reports
- 🔍 Advanced Search & Filtering: Search by content, category, date range, keywords, and more
- 📊 Analytics Dashboard: Get insights into your note-taking patterns with interactive charts
- 🎨 Theme Support: Filter by sticky note colors/themes
- 🪟 Windows Native: Designed specifically for Windows 10/11 Microsoft Sticky Notes
🖥️ Beautiful, Intuitive Interface
- User-Friendly Interface: Easy-to-use Tkinter-based GUI for non-technical users
- Visual Note Browser: Browse notes by category with live search
- Advanced Filtering: Interactive filtering with real-time preview
- Statistics Dashboard: Visual charts showing category distribution and trends
- Note Management: Edit, delete, merge, and duplicate notes directly in the GUI
- Backup & Restore: Create and manage database backups with one click
- Export Manager: Export notes in multiple formats with visual feedback
- 💾 Backup/Restore: Automated backup creation with ZIP compression
- ✏️ Note Editing: Edit note content, merge multiple notes, delete notes
- 🔄 Duplicate Detection: Find similar notes automatically
- 📝 Word Frequency Analysis: Discover common keywords in your notes
- 📅 Timeline Analysis: See when notes were created over time
- 🎨 Custom Categories: Add your own categories and keywords
Option 1: Windows Standalone Executable (No Python Required) 🪟
Perfect for non-technical Windows users:
- Download
StickyNoteOrganizer-GUI.exefrom the latest release - Double-click to run - no installation needed!
- File size: 7 MB
See WINDOWS_EXECUTABLE_GUIDE.md for details.
Option 2: Install from PyPI (Recommended for Python Users) ⭐
pip install sticky-note-organizerThat's it! The package and all dependencies will be installed automatically.
Option 3: Install from Source
-
Clone the repository:
git clone https://github.com/Primus-Izzy/Sticky-Note-Organizer.git cd Sticky-Note-Organizer -
Run the installer:
python install.py
-
Verify installation:
sticky-organizer --help
For Non-Technical Users (Easiest Method):
Simply double-click one of these files in the project folder:
StickyNoteOrganizer.pyw⭐ Recommended (runs without console window)launch_gui.bat(shows console window for debugging)launch_gui.py(if you have Python set to open .py files)
That's it! The GUI will open automatically and detect your sticky notes.
For Command Line Users:
# Launch GUI using installed command
sticky-organizer-gui
# Or via CLI
sticky-organizer gui
# Or directly
python -m sticky_organizer.gui_launcher# Check your database
sticky-organizer info
# Extract and organize your notes
sticky-organizer extract
# Search for specific content
sticky-organizer search "business idea"
# Create a backup
sticky-organizer backup
# View all categories
sticky-organizer categoriesThe GUI features a tabbed interface with five main sections:
- Categories Panel: View notes organized by category
- Notes List: Searchable list of notes in the selected category
- Note Editor: View and edit note content
- Export Options: Export to CSV, JSON, Excel, or Markdown
How to use:
- Select a category from the left panel
- Click on a note to view its content
- Edit the note in the text area
- Click "Save Changes" to update
- Use export buttons to save notes to files
- Date Range: Filter notes by creation date
- Categories: Select multiple categories to include
- Content Length: Filter by minimum/maximum note length
- Keywords: Search for specific keywords
- Live Preview: See filtered results in real-time
- Summary Statistics: Total notes, categories, top keywords
- Category Distribution: Pie chart showing note distribution
- Word Frequency: Most common words in your notes
- Timeline Chart: Notes created over time
- Database Info: Current database location and size
- Create Backup: One-click backup creation
- Backup List: View all available backups
- Restore: Restore from a previous backup
- Custom Categories: Add your own categories
- Keywords: Define keywords for auto-categorization
- Export Preferences: Configure default export settings
# Basic extraction
sticky-organizer extract
# Custom output directory and formats
sticky-organizer extract -o my_notes -f csv json excel
# Specify database path
sticky-organizer extract -d "C:\path\to\plum.sqlite"Options:
-d, --db-path: Path to sticky notes database file-o, --output-dir: Output directory (default: 'output')-f, --formats: Export formats (csv, json, excel, markdown, summary)--filename: Base filename for exported files--show-stats/--no-stats: Show/hide extraction statistics
# Basic search
sticky-organizer search "project deadline"
# Search within a specific category
sticky-organizer search "meeting" -c "Work/Career"
# Case-sensitive search
sticky-organizer search "API" --case-sensitive# Create compressed backup
sticky-organizer backup
# Specify output directory
sticky-organizer backup -o my_backups
# Uncompressed backup
sticky-organizer backup --no-compress# Restore from backup (with safety backup of current database)
sticky-organizer restore backups/sticky_notes_backup_20231215.zip
# Restore without creating safety backup
sticky-organizer restore backup.zip --no-backupsticky-organizer edit [note-id] "New content"sticky-organizer merge [note-id-1] [note-id-2] [note-id-3]Options:
-s, --separator: Text to insert between merged notes
sticky-organizer infoShows database location, size, table structure, and note statistics.
sticky-organizer categoriesDisplays all categories and their associated keywords.
The tool automatically categorizes your notes into these themes:
| Category | Keywords |
|---|---|
| Business Ideas | Startup, marketing, business, revenue, product, customer |
| Financial/Money | Money, payment, salary, budget, investment, cost |
| Technology/Development | Code, API, website, software, app, programming |
| Work/Career | Work, job, meeting, project, deadline, career |
| Personal Goals | Goal, aspiration, dream, improvement, habit |
| Health/Fitness | Health, fitness, exercise, workout, diet, medical |
| Contacts/People | Phone, email, address, contact |
| Travel/Places | Travel, trip, vacation, destination, hotel |
| Shopping/Items | Buy, purchase, shopping, store, price |
| Ideas/Thoughts | Idea, thought, concept, brainstorm |
| Tasks/Reminders | Todo, task, reminder, deadline, appointment |
| Education/Learning | Learn, study, course, education, training |
The tool generates several types of output files:
- CSV Files (
.csv) - All notes with categories and metadata - JSON Export (
.json) - Machine-readable format with full metadata - Excel Workbook (
.xlsx) - Multi-sheet workbook organized by category - Markdown Report (
.md) - Human-readable format for documentation - Summary Report (
.txt) - Organized overview with key highlights
from sticky_organizer.database import StickyNotesDatabase
from sticky_organizer.categorizer import NoteCategorizer
from sticky_organizer.exporters import ExportManager
from sticky_organizer.filters import NoteFilter, NoteSorter
from sticky_organizer.backup import BackupManager
from sticky_organizer.analytics import AdvancedAnalytics
# Connect to database
db = StickyNotesDatabase()
if db.connect():
notes = db.extract_notes()
db.close()
# Categorize notes
categorizer = NoteCategorizer()
categorized = categorizer.categorize_notes(notes)
# Advanced filtering
filter_engine = NoteFilter()
filtered_notes = (filter_engine
.by_date_range('2023-01-01', '2023-12-31')
.by_keywords(['business', 'startup'])
.by_content_length(min_length=50)
.apply(notes))
# Sort notes
sorted_notes = NoteSorter.by_date(filtered_notes, ascending=False)
# Create backup
backup_mgr = BackupManager()
backup_file = backup_mgr.create_backup('path/to/plum.sqlite')
# Generate analytics
analytics = AdvancedAnalytics()
word_freq = analytics.get_word_frequency(notes, top_n=20)
category_stats = analytics.get_category_stats(categorized)
# Export to multiple formats
export_manager = ExportManager('my_output')
results = export_manager.export(sorted_notes, ['csv', 'json'], 'filtered_notes')# Add custom category
categorizer = NoteCategorizer()
categorizer.add_custom_category('Recipes', ['recipe', 'cooking', 'ingredients', 'food'])
# Use in categorization
categorized = categorizer.categorize_notes(notes)- Modern Sticky Notes (Windows 10/11):
plum.sqlite✅ - Classic Sticky Notes (Windows 7/8/early 10):
StickyNotes.snt✅ NEW in v1.1.0!
The tool automatically searches these locations:
Windows:
%USERPROFILE%\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite%USERPROFILE%\AppData\Roaming\Microsoft\Sticky Notes\StickyNotes.snt
Current Directory:
./plum.sqlite./StickyNotes.snt
click>=8.0.0 # CLI framework
pandas>=1.3.0 # DataFrames (optional, for Excel)
openpyxl>=3.0.0 # Excel writer (optional)
colorama>=0.4.0 # Colored console output
tabulate>=0.8.0 # Table formatting
pathlib2>=2.3.0 # Path handling
python-dateutil>=2.8.0 # Date utilities
matplotlib>=3.5.0 # Charts and visualizations
Pillow>=9.0.0 # Image handling
wordcloud>=1.8.0 # Word cloud generation
All dependencies are automatically installed via install.py or requirements.txt.
sticky-note-organizer/
├── src/sticky_organizer/ # Main package
│ ├── __init__.py # Package initialization
│ ├── cli.py # Command-line interface
│ ├── gui.py # GUI application
│ ├── gui_launcher.py # GUI entry point
│ ├── database.py # Database operations
│ ├── categorizer.py # Note categorization
│ ├── exporters.py # Export functionality
│ ├── filters.py # Advanced filtering
│ ├── backup.py # Backup/restore operations
│ ├── analytics.py # Analytics and statistics
│ └── editor.py # Note editing operations
├── tests/ # Test files
├── docs/ # Documentation
├── examples/ # Usage examples
├── requirements.txt # Dependencies
├── setup.py # Package setup
├── install.py # Installation script
├── StickyNoteOrganizer.pyw # GUI launcher (no console)
├── launch_gui.bat # Windows batch launcher
├── launch_gui.py # Python launcher
└── README.md # This file
# Run all tests
python -m pytest tests/
# Run with coverage
python -m pytest tests/ --cov=sticky_organizer
# Run specific test file
python -m pytest tests/test_categorizer.pyWe welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Write tests for new features
- Update documentation
- Follow PEP 8 style guidelines
- Commit your changes
git commit -m 'Add amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Write clear, descriptive commit messages
- Add tests for all new features
- Update documentation for any API changes
- Ensure all tests pass before submitting PR
- Follow the existing code style
Make sure GUI dependencies are installed:
pip install matplotlib Pillow wordcloudThe tool looks for the database in standard Windows locations. If not found:
- Use the GUI's "Connect" button to manually select the database
- Or use
--db-pathoption in CLI commands
- Excel export: Install pandas and openpyxl:
pip install pandas openpyxl - Permission errors: Check that the output directory is writable
- Ensure you have write permissions in the backup directory
- Verify the backup file exists and is not corrupted
- For ZIP backups, ensure the file is a valid ZIP archive
If you see Unicode errors on Windows:
- The tool automatically handles encoding issues with multiple fallback levels
- If problems persist, use the GUI instead of CLI
- Or redirect output:
sticky-organizer extract > output.log 2>&1
EXTRACTION SUMMARY
==================================================
Total notes extracted: 371
Categories found: 13
CATEGORY BREAKDOWN:
Miscellaneous 75 notes ( 20.2%)
Business Ideas 72 notes ( 19.4%)
Financial/Money 59 notes ( 15.9%)
Technology/Development 58 notes ( 15.6%)
Contacts/People 30 notes ( 8.1%)
Work/Career 25 notes ( 6.7%)
Tasks/Reminders 21 notes ( 5.7%)
Personal Goals 10 notes ( 2.7%)
Travel/Places 8 notes ( 2.2%)
Shopping/Items 6 notes ( 1.6%)
Ideas/Thoughts 4 notes ( 1.1%)
Education/Learning 2 notes ( 0.5%)
Health/Fitness 1 notes ( 0.3%)
This project is licensed under the MIT License - see the LICENSE file for details.
- Microsoft for the Sticky Notes application
- The Python community for excellent libraries
- All contributors and users of this tool
- Documentation: See
docs/directory - Issues: GitHub Issues
- Discussions: GitHub Discussions
- Support for Classic Sticky Notes (.snt format) ✅ v1.1.0
- Cloud sync support
- Mobile app companion
- Advanced AI-powered categorization
- Collaborative features
- Theme customization
- Export to OneNote/Evernote
⭐ Star this repo if you find it useful! ⭐
Made with ❤️ for better note organization