Track your fountain pens and inks
| .vscode | ||
| __pycache__ | ||
| src | ||
| tests | ||
| .gitignore | ||
| CHANGELOG.md | ||
| import_csv_to_sqlite.py | ||
| LICENSE | ||
| PROJECT_DOCUMENTATION.md | ||
| pyproject.toml | ||
| README.md | ||
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 --make "Pilot" --model "Metropolitan" --nib "F"
pen-tracker list
pen-tracker export --output my_pens.json
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 make, model, nib, ink, etc.
- CLI interface with interactive and command-line modes
- Data stored in CSV format
- Export to JSON
- Input validation for dates
- Configurable CSV path via PEN_TRACKER_CSV environment variable