Track your fountain pens and inks
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-03 23:10:29 -05:00
.vscode Add CHANGELOG.md 2026-06-17 18:39:24 -05:00
src v0.7.3 - collective fixes 2026-08-03 23:10:29 -05:00
tests Normalize makers/vendors, add CLI integration tests, fix legacy ink insert compatibility, bump version to 0.6.0 2026-07-13 00:03:42 -05:00
.gitignore Bump version to 0.5.4; add 'Update Pen Ink' CLI option; update CHANGELOG 2026-07-07 22:00:35 -05:00
CHANGELOG.md v0.7.3 - collective fixes 2026-08-03 23:10:29 -05:00
import_csv_to_sqlite.py Covert storage to sqlite backed, added ink history 2026-06-14 00:24:13 -05:00
LICENSE initial commit 2026-04-26 22:33:44 -05:00
PROJECT_DOCUMENTATION.md v0.7.0 moved pen & ink to submenus 2026-07-23 20:21:01 -05:00
pyproject.toml v0.7.3 - collective fixes 2026-08-03 23:10:29 -05:00
README.md Normalize makers/vendors, add CLI integration tests, fix legacy ink insert compatibility, bump version to 0.6.0 2026-07-13 00:03:42 -05:00

Pen Tracker

A simple fountain pen collection tracker.

Installation

pip install .

Data Storage

Data is stored in a SQLite database by default at ~/.local/share/pen-tracker/pen_tracker.db, following the XDG Base Directory specification. The directory is created automatically if it doesn't exist.

You can override the location by setting the PEN_TRACKER_DB environment variable or using --db when running the CLI.

Usage

CLI

Interactive mode:

pen-tracker

Command-line mode:

pen-tracker --db ~/.local/share/pen-tracker/pen_tracker.db add --maker "Pilot" --model "Metropolitan" --nib "F"
pen-tracker --db ~/.local/share/pen-tracker/pen_tracker.db list
pen-tracker --db ~/.local/share/pen-tracker/pen_tracker.db export --output my_pens.json

Add a new ink:

pen-tracker --db ~/.local/share/pen-tracker/pen_tracker.db add-ink --maker "Iroshizuku" --name "Kon-peki" --vendor "Goulet"

List saved inks:

pen-tracker --db ~/.local/share/pen-tracker/pen_tracker.db list-inks

Add a pen with explicit maker/vendor:

pen-tracker --db ~/.local/share/pen-tracker/pen_tracker.db add --maker "Pilot" --model "Custom 92" --vendor "VendorX" --current-ink "Kon-peki"

Import CSV data

If you are migrating from the old CSV storage format, run:

python import_csv_to_sqlite.py --db ~/.local/share/pen-tracker/pen_tracker.db

The import script will initialize the SQLite database if it does not already exist.

Features

  • Track fountain pens with details like maker, model, nib, ink, and notes
  • CLI interface with interactive and command-line modes
  • Data stored in SQLite with normalized makers and vendors lookup tables
  • Add and list inks via add-ink / list-inks
  • Export collection to JSON
  • Input validation for dates
  • Configurable database path via PEN_TRACKER_DB or --db