feat: Implement CLI and TUI for Fountain Pen Tracker
- Added CLI functionality for adding, editing, viewing, and deleting fountain pens. - Introduced TUI using Textual for a more interactive experience. - Created Pen and PenTracker classes to manage pen data and CSV storage. - Implemented input validation for date fields. - Added export functionality to JSON format. - Updated project version to 0.2.0. - Added unit tests for PenTracker functionality.
This commit is contained in:
parent
1a12e6d3c5
commit
51a1697c83
18 changed files with 866 additions and 166 deletions
47
README.md
47
README.md
|
|
@ -0,0 +1,47 @@
|
|||
# Pen Tracker
|
||||
|
||||
A simple fountain pen collection tracker.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pip install .
|
||||
```
|
||||
|
||||
## Data Storage
|
||||
|
||||
Pen data is stored in `~/.local/share/pen-tracker/pens.csv` by default, following XDG Base Directory specification. The directory is created automatically if it doesn't exist.
|
||||
|
||||
You can override the location by setting the `PEN_TRACKER_CSV` environment variable.
|
||||
|
||||
## Usage
|
||||
|
||||
### CLI
|
||||
|
||||
Interactive mode:
|
||||
```bash
|
||||
pen-tracker
|
||||
```
|
||||
|
||||
Command-line mode:
|
||||
```bash
|
||||
pen-tracker add --make "Pilot" --model "Metropolitan" --nib "F"
|
||||
pen-tracker list
|
||||
pen-tracker export --output my_pens.json
|
||||
```
|
||||
|
||||
### TUI
|
||||
|
||||
```bash
|
||||
pen-tui
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
- Track fountain pens with details like make, model, nib, ink, etc.
|
||||
- CLI interface with interactive and command-line modes
|
||||
- TUI interface using Textual
|
||||
- Data stored in CSV format
|
||||
- Export to JSON
|
||||
- Input validation for dates
|
||||
- Configurable CSV path via PEN_TRACKER_CSV environment variable
|
||||
Loading…
Add table
Add a link
Reference in a new issue