49 lines
No EOL
1.2 KiB
Markdown
49 lines
No EOL
1.2 KiB
Markdown
# Pen Tracker
|
|
|
|
A simple fountain pen collection tracker.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
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:
|
|
```bash
|
|
pen-tracker
|
|
```
|
|
|
|
Command-line mode:
|
|
```bash
|
|
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:
|
|
```bash
|
|
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 |