Skip to content

senku1505/pynotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pynotes

PyPI version Supported Python versions

Pynotes is a lightning-fast terminal-based Markdown personal journal and notes tool. It allows you to seamlessly create, read, list, and filter your notes directly from the command line, while storing everything locally in a lightweight SQLite database.

What it Does

  • Create & Edit: Interactively create notes with titles, tags, and Markdown content. Edit existing notes smoothly.
  • List & Filter: View all your notes in a beautifully formatted table or filter them down by specific tags.
  • View Notes: Render your notes with full Markdown syntax highlighting right in your terminal.
  • Local Storage: Keeps all your data secure and accessible on your local machine (~/.pynotes.db).

Project Structure

pynotes/
├── pyproject.toml      # Project metadata and dependencies configuration
├── README.md           # Project documentation and instructions
└── pynotes/            # Main application package
    ├── __init__.py     # Marks the directory as a Python package
    ├── main.py         # Entry point defining the CLI commands using Typer
    ├── db.py           # Handles SQLite database connection and queries
    ├── ui.py           # Manages terminal output rendering using Rich
    └── prompts.py      # Handles interactive user inputs using Questionary

Tech Stack

  • Python 3.10+
  • Typer: For building the powerful command-line interface.
  • Rich: For beautiful terminal formatting, tables, and Markdown rendering.
  • Questionary: For interactive and user-friendly CLI prompts.
  • SQLite3: For local database storage (built-in).

Instructions to Run

1. Installation

From PyPI (Recommended) You can install pynotes-cli directly from PyPI:

pip install pynotes-cli

From Source (For Developers) If you want to modify the code, install it in editable mode:

# Clone the repository and navigate to the directory
git clone https://github.com/senku1505/pynotes.git
cd pynotes

# Install the package and its dependencies
pip install -e .

2. Usage

Once installed, the pynotes command will be globally available in your terminal environment.

Initialize the Database: Initialize your local database at ~/.pynotes.db.

pynotes init

Create a New Note:

pynotes new

Follow the interactive prompts to add your title, tags, and Markdown content. Press Alt+Enter (or Esc then Enter on Mac) to save the content.

List All Notes:

pynotes list

Filter Notes by Tag:

pynotes list --tag <your-tag>

View a Specific Note: View the full rendered Markdown of a note by providing its ID.

pynotes view <note_id>

Edit a Note: Edit the title, tags, or content of an existing note.

pynotes edit <note_id>

About

CLI based Markdown journal & notes tool.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages