Skip to main content

GPGNotes - A CLI note-taking tool with GPG encryption, tagging, and Git sync

Project description

GPGNotes

Tests Lint License

A CLI note-taking tool with GPG encryption, automatic tagging, full-text search, and Git synchronization.

Features

  • Markdown Notes - Write notes in plain markdown with YAML frontmatter
  • GPG Encryption - Every note is encrypted individually with GPG
  • Full-Text Search - Fast SQLite FTS5-powered search across all notes
  • Auto-Tagging - Intelligent tag generation using TF-IDF
  • Git Sync - Automatic synchronization with private GitHub repositories
  • Daily Notes - Captain's Log style quick entries with summaries (docs)
  • Note Templates - Built-in templates (meeting, project, bug, journal, research) with custom template support
  • Version History - Git-based version tracking with history, diff, and restore commands
  • Markdown Rendering - Rich terminal preview with formatted display
  • URL Import - Web clipper to import content from URLs
  • Pagination - Interactive pagination for list and search results
  • AI Enhancement - Optional LLM-powered note refinement (docs)
  • Import/Export - Support for PDF, DOCX, RTF formats (docs)

Installation

Prerequisites

  • Python 3.11 or higher
  • GPG (GnuPG) installed on your system
    • Linux: sudo apt install gnupg (Debian/Ubuntu)
    • macOS: brew install gnupg

Install from PyPI

pip install gpgnotes

With optional dependencies:

pip install gpgnotes[llm]      # AI enhancement
pip install gpgnotes[import]   # PDF/DOCX import/export

Install from source

git clone https://github.com/oscarvalenzuelab/GPGNotes.git
cd GPGNotes
pip install -e .

Quick Start

1. Initialize

notes init

This guides you through:

  • Selecting a GPG key
  • Testing encryption
  • Configuring your editor
  • Setting up Git sync (optional)

Don't have a GPG key? Create one:

gpg --full-generate-key

2. Create a note

notes new "My First Note"

3. Search and manage

notes search "keyword"
notes list
notes open <note-id>
notes sync

Command Reference

Command Description
notes new "Title" Create a new note
notes new --template meeting Create note from template
notes list List all notes
notes list --preview List with content preview
notes list --page-size 10 List with custom pagination
notes recent Show 5 most recent notes
notes search "query" Full-text search
notes search --tag work Search by tag
notes open <id> Open note by ID
notes open "title" Open by title (fuzzy match)
notes open --last Open most recent note
notes show <id> --render Display note with formatting
notes preview <id> Rich markdown preview
notes history <id> Show version history
notes diff <id> --from <commit> Compare versions
notes restore <id> --version <commit> Restore previous version
notes template list List all templates
notes template show <name> Preview a template
notes tags List all tags
notes delete <id> Delete a note
notes sync Sync with Git
notes config --show Show configuration
notes daily "entry" Quick daily log entry (docs)
notes daily --time "entry" Entry with timestamp
notes today Open today's daily note
notes yesterday Open yesterday's note
notes daily show View today's entries
notes daily summary --month Generate monthly summary
notes enhance <id> AI enhancement (docs)
notes import file.pdf Import file (docs)
notes import <url> Import from URL (web clipper)
notes clip <url> Web clipper shortcut
notes export <id> Export note (docs)

Interactive Mode

Run notes without arguments for interactive mode with:

  • Tab completion for note titles
  • Command history (Up/Down arrows)
  • Quick search by typing

Security

  • GPG Encryption: All notes encrypted with AES256
  • Local-first: Your data stays on your machine
  • Private repos: Git sync for private repositories only
  • Encrypted secrets: API keys stored with GPG encryption

Documentation

License

Apache License 2.0 - see LICENSE for details.


Note: This is an early release. Always backup your notes!

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

gpgnotes-0.2.4.tar.gz (61.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gpgnotes-0.2.4-py3-none-any.whl (60.8 kB view details)

Uploaded Python 3

File details

Details for the file gpgnotes-0.2.4.tar.gz.

File metadata

  • Download URL: gpgnotes-0.2.4.tar.gz
  • Upload date:
  • Size: 61.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gpgnotes-0.2.4.tar.gz
Algorithm Hash digest
SHA256 2eda6fa4a4672ae3e38a6b95d2bbc1b1c87652a52a2c2366a0da4f055dc3d812
MD5 c28b370ebaa6e778377b85f5f9eeae6d
BLAKE2b-256 48a702c8d203bb687ecbc6fe6a416c75275d8b22fd95f1740d5eb724f5bb7909

See more details on using hashes here.

Provenance

The following attestation bundles were made for gpgnotes-0.2.4.tar.gz:

Publisher: publish.yml on oscarvalenzuelab/GPGNotes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gpgnotes-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: gpgnotes-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 60.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gpgnotes-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3d0b64bd1c81a5dc6ba7511e1f99ed1f7e16bdbb657d1aa0942bc52b5a5b1717
MD5 47c41726f6a5ab6dfb25cef2e8a6c35c
BLAKE2b-256 dcbef8aa55823f127f0c92c7864b5d313228400459954182763aa112a4f7eedf

See more details on using hashes here.

Provenance

The following attestation bundles were made for gpgnotes-0.2.4-py3-none-any.whl:

Publisher: publish.yml on oscarvalenzuelab/GPGNotes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page