Repository navigation
Releases: alexschexc/gear-tracker
Release list
Fixing the MacOS release
Like it says on the Tin. The first MacOS support Release was a tad botched due to missing files needed for GitHub Actions to successfully build the binary. Let's see if this works now.
MacOS has arrived!
GearTracker v0.1.2-alpha - macOS Support Release
Release Date: February 3, 2026
Version Tag: v0.1.2-alpha
⚠️ Important Notices
- This is an alpha release - expect bugs and potential issues
- Data is stored locally in SQLite database - keep regular backups!
- No data is ever sent to any remote server
- Report issues with steps to reproduce when possible
- Beta is right around the corner!
🚀 What's New
macOS Support
GearTracker now supports macOS with standalone executable distribution.
macOS Executable:
GearTracker-macOS-unnotarized.dmgavailable in releases- No Python installation required for end users
- Self-contained with bundled Python runtime
- Requires macOS 11.0 or later
- Universal binary (x86_64)
Build Infrastructure:
geartracker_macos.spec- PyInstaller spec for macOS buildsbuild_macos.sh- Local build script for macOS machines.github/workflows/build-macos.yml- Automated CI/CD workflow- Auto-generated
.icnsicon from source PNG
GitHub Actions:
- Builds automatically on every push to main
- Creates DMG disk images for distribution
- Attaches artifacts to releases on tag creation
- Runs on macOS-14 runners
macOS Distribution Notes:
- Unnotarized build - No Apple code signing or notarization
- To open: Right-click the app → "Open"
- Or: System Preferences → Security & Privacy → "Open Anyway"
- First launch may require confirming the developer warning
Codebase Improvements
- No platform-specific code in core application
- Cross-platform compatible from the start
- PyQt6 ensures native look and feel across OSes
📊 Feature Status
| Feature | Status |
|---|---|
| Firearms Management | ✅ Complete |
| Soft Gear Management | ✅ Complete |
| NFA Items & Compliance | ✅ Complete |
| Consumables Tracking | ✅ Complete |
| Attachments System | ✅ Complete |
| Reload/Handload Log | ✅ Complete |
| Borrower Management | ✅ Complete |
| Checkout/Return System | ✅ Complete |
| Loadouts System | ✅ Complete |
| Round Count Tracking | ✅ Complete |
| Maintenance Thresholds | ✅ Complete |
| Maintenance Logging | ✅ Complete |
| CSV Export | ✅ Complete |
| CSV Import | ✅ Complete |
| Linux Support | ✅ Complete |
| Windows Support | ✅ Complete |
| macOS Support | ✅ Complete |
🔧 Technical Changes
Build System
New Files Added:
geartracker_macos.spec # PyInstaller spec for macOS .app bundles
build_macos.sh # Local macOS build script
.github/workflows/build-macos.yml # GitHub Actions CI/CD
macOS Build Spec:
- Creates standalone
.appbundle - Includes bundled Python runtime
- High-resolution Retina icon support
- Proper macOS bundle structure with Info.plist
- Minimum macOS: 11.0 (Big Sur)
Path Handling
Database location follows platform conventions:
- Linux/macOS:
~/.gear_tracker/tracker.db - Windows:
C:\Users\<username>\.gear_tracker\tracker.db
📝 Installation
Running from Source
Requirements:
- Python 3.12+
- PyQt6
pip install PyQt6
python main.pyStandalone Executables
Linux Binary:
- Download from latest release assets
Windows Binary:
GearTracker.exeavailable under Release tags- Download and run directly - no Python required
macOS Binary:
GearTracker-macOS-unnotarized.dmgavailable under Release tags- Mount the DMG and drag GearTracker.app to Applications
- Right-click → Open to bypass Gatekeeper warning
💾 Backup Instructions
CRITICAL: Always backup before upgrading:
# Close GearTracker, then:
cp ~/.gear_tracker/tracker.db ~/.gear_tracker/tracker.db.backupOr copy tracker.db to your preferred backup location.
📄 Changelog
v0.1.2-alpha (Current)
- ✅ macOS standalone executable
- ✅ PyInstaller spec for macOS builds (.app bundle)
- ✅ GitHub Actions workflow for automated macOS builds
- ✅ macOS DMG distribution
- ✅ Auto-generated macOS icon (.icns format)
- ✅ Local build script for macOS machines
- ✅ Updated README with macOS installation guides
v0.1.0-alpha.3
- ✅ Complete codebase refactor (new modular structure)
- ✅ Full feature rebuild on new architecture
- ✅ NFA item maintenance tracking
- ✅ Windows standalone executable
- ✅ PyInstaller spec for Windows builds
- ✅ Cross-platform build script
- ✅ Multi-resolution Windows icon
- ✅ Updated README with installation guides
v0.1.0-alpha.2
- ✅ Loadout builder with multi-category item selection
- ✅ One-click checkout with comprehensive validation
- ✅ Loadout return with per-firearm round counts
- ✅ Automatic maintenance logging on return
- ✅ Full NFA item support in loadouts
- 🐛 Fixed: Maintenance flag not clearing after CLEANING
- 🐛 Fixed: Loadout checkouts not appearing in checkouts tab
- 🐛 Fixed: NFA item checkout crash
v0.1.0-alpha.1
- ✅ Round counting per firearm
- ✅ Configurable maintenance thresholds
- ✅ Visual maintenance alerts
- ✅ Maintenance history logging
v0.1.0-alpha.0
- ✅ Initial inventory management
- ✅ Firearms, soft gear, NFA items, consumables
- ✅ Attachments system
- ✅ Reload/Handload log
- ✅ Borrower management
- ✅ Checkout/return system
🤝 Support
- Report bugs: Please include steps to reproduce and error messages if possible
- Feature requests: Feedback welcome on what would make this more useful
- macOS issues: Note your macOS version when reporting
- Donations: If you're benefiting from this software: https://paypal.me/ASchexnayder296
Thank you for using GearTracker! 🦌
New Alpha Tag: Refactor Complete and Windows support has arrived
GearTracker v0.1.1-alpha - Refactor & Windows Support Release
Release Date: February 3, 2026
Version Tag: v0.1.1-alpha
⚠️ Important Notices
- This is an alpha release - expect bugs and potential issues
- Data is stored locally in SQLite database - keep regular backups!
- No data is ever sent to any remote server
- Report issues with steps to reproduce when possible
🚀 What's New
Complete Codebase Refactor
The codebase has undergone a comprehensive refactor to improve maintainability and enable future expansion.
New Project Structure:
gearTracker/
├── main.py # Application entry point
├── src/
│ ├── models/
│ │ └── gear.py # Data models (Firearm, NFAItem, SoftGear, etc.)
│ ├── repository/
│ │ ├── database.py # Database initialization and migrations
│ │ ├── gear.py # NFA items and attachments repository
│ │ ├── firearms.py # Firearm CRUD operations
│ │ ├── consumables.py # Consumables repository
│ │ ├── checkout.py # Checkout and borrower management
│ │ ├── loadout.py # Loadout operations
│ │ └── reload.py # Reload batch tracking
│ ├── services/
│ │ ├── maintenance.py # Maintenance logic and thresholds
│ │ ├── checkout.py # Checkout validation and processing
│ │ ├── loadout.py # Loadout builder and return logic
│ │ └── import_export.py # CSV import/export functionality
│ └── ui/
│ ├── main_window.py # Main application window
│ ├── tabs/ # Tab components (firearms, gear, etc.)
│ ├── dialogs/ # Dialog components
│ └── components/ # Reusable UI components
├── tests/ # Test suite
└── agentLogs/ # Development notes and session logs
Key Refactoring Improvements:
- Separation of Concerns: UI logic separated from business logic
- Repository Pattern: Centralized data access layer
- Service Layer: Encapsulated business logic in services
- Modular Design: Each feature area has dedicated modules
- Testability: Cleaner code structure enables easier testing
- Maintainability: Clear module boundaries reduce complexity
Full Feature Rebuild
All features have been rebuilt on the new architecture:
Core Inventory Management:
- Firearms with round count tracking and maintenance thresholds
- NFA items (suppressors, SBRs, SBSs, AOWs, DDs)
- Soft gear (armor, vests, backpacks, boots)
- Attachments with firearm mounting
- Consumables with stock tracking
Maintenance System:
- Round-based and time-based maintenance intervals
- Visual status indicators (red/yellow backgrounds)
- 10 maintenance event types
- Automatic maintenance logging on loadout return
Loadout System:
- Custom loadout builder with multi-category selection
- One-click checkout with validation
- Per-firearm round count input on return
- Rain exposure and ammo type tracking
- Automatic consumable deduction
Checkout System:
- Borrower management
- Individual item and loadout checkouts
- Overdue detection
- Return tracking with usage data
Data Management:
- CSV export (full backup and single-entity)
- CSV import with validation and duplicate handling
- Automatic database migrations
Windows Support
GearTracker now supports Windows with standalone executable distribution.
Windows Executable:
- Pre-built
GearTracker.exeavailable in releases - No Python installation required for end users
- Self-contained with bundled Python runtime
- Windows icon included
- 64-bit Windows 10+ compatible
Build Infrastructure:
geartracker_windows.spec- PyInstaller spec for Windows buildsbuild_windows.sh- Cross-platform build script using Wineicon.ico- Multi-resolution Windows icon (16x16, 32x32, 48x48, 256x256)
Build Requirements:
- Python 3.14+
- PyQt6
- Wine + Python 3.14 for Windows (for cross-compilation)
📊 Feature Status
| Feature | Status |
|---|---|
| Firearms Management | ✅ Complete |
| Soft Gear Management | ✅ Complete |
| NFA Items & Compliance | ✅ Complete |
| Consumables Tracking | ✅ Complete |
| Attachments System | ✅ Complete |
| Reload/Handload Log | ✅ Complete |
| Borrower Management | ✅ Complete |
| Checkout/Return System | ✅ Complete |
| Loadouts System | ✅ Complete |
| Round Count Tracking | ✅ Complete |
| Maintenance Thresholds | ✅ Complete |
| Maintenance Logging | ✅ Complete |
| Automatic Maintenance Logging | ✅ Complete |
| CSV Export | ✅ Complete |
| CSV Import | ✅ Complete |
| Codebase Refactor | ✅ Complete |
| Windows Standalone Executable | ✅ Complete |
| macOS Standalone Executable | 🚧 Coming Soon |
🔧 Technical Changes
Database Schema Updates
New columns added for enhanced functionality:
nfa_items table:
rounds_fired- Track shots through suppressorclean_interval_rounds- Configurable clean thresholdoil_interval_days- Time-based oiling intervalneeds_maintenance- Maintenance flagmaintenance_conditions- Special conditions tracking
NFA Maintenance Integration
NFA items now support full maintenance tracking:
- Round count logging per suppressor
- Maintenance history per NFA item
- Loadout integration for suppressors
- Maintenance flag behavior mirrors firearms
Path Handling
Database location follows platform conventions:
- Linux/macOS:
~/.gear_tracker/tracker.db - Windows:
C:\Users\<username>\.gear_tracker\tracker.db
🐛 Fixed Issues
Refactor-Related Fixes
- Clean separation between UI and data layers
- Proper error propagation
- Consistent datetime handling
- Type safety improvements
NFA Maintenance Fixes
- Maintenance flag properly set on FIRED_ROUNDS
- Maintenance flag clears on CLEANING
- Backward compatibility with existing databases
📝 Installation
Running from Source
Requirements:
- Python 3.14+
- PyQt6
pip install PyQt6
python main.pyStandalone Executables
Linux Binary:
- Download from latest release assets
Windows Binary:
GearTracker.exeavailable under Release tags- Download and run directly - no Python required
macOS Binary:
- Coming in future release
💾 Backup Instructions
CRITICAL: Always backup before upgrading:
# Close GearTracker, then:
cp ~/.gear_tracker/tracker.db ~/.gear_tracker/tracker.db.backupOr copy tracker.db to your preferred backup location.
🔜 Coming in v0.1.0-beta.1 (MVP Release)
Beta Priorities
After this refactor release, focus shifts to:
- Stabilization - Fix any regressions from refactor
- Performance - Optimize database queries and UI responsiveness
- Polish - UI refinements and edge case handling
- macOS Support - Standalone executable for macOS
- Advanced Features - Ballistics, chronograph integration, QR codes
📄 Changelog
v0.1.0-alpha.3 (Current)
- ✅ Complete codebase refactor (new modular structure)
- ✅ Full feature rebuild on new architecture
- ✅ NFA item maintenance tracking
- ✅ Windows standalone executable
- ✅ PyInstaller spec for Windows builds
- ✅ Cross-platform build script
- ✅ Multi-resolution Windows icon
- ✅ Updated README with installation guides
v0.1.0-alpha.2
- ✅ Loadout builder with multi-category item selection
- ✅ One-click checkout with comprehensive validation
- ✅ Loadout return with per-firearm round counts
- ✅ Automatic maintenance logging on return
- ✅ Full NFA item support in loadouts
- 🐛 Fixed: Maintenance flag not clearing after CLEANING
- 🐛 Fixed: Loadout checkouts not appearing in checkouts tab
- 🐛 Fixed: NFA item checkout crash
v0.1.0-alpha.1
- ✅ Round counting per firearm
- ✅ Configurable maintenance thresholds
- ✅ Visual maintenance alerts
- ✅ Maintenance history logging
v0.1.0-alpha.0
- ✅ Initial inventory management
- ✅ Firearms, soft gear, NFA items, consumables
- ✅ Attachments system
- ✅ Reload/Handload log
- ✅ Borrower management
- ✅ Checkout/return system
🤝 Support
- Report bugs: Please include steps to reproduce and error messages if possible
- Feature requests: Feedback welcome on what would make this more useful
- Donations: If you're benefiting from this software: https://paypal.me/ASchexnayder296
Thank you for using GearTracker! 🦌
MVP has arrived
GearTracker v0.1.0-alpha - Minimum Viable Product
Release Date: January 21, 2026
Version Tag: v0.1.0-alpha
🎉 Milestone: MVP Complete
This release marks the Minimum Viable Product milestone for GearTracker. All planned core features are now implemented, making the application fully functional for comprehensive gear inventory, maintenance tracking, and data management.
⚠️ Important Notices
- This is an alpha release - core features are complete but expect bugs and potential crashes
- May experience critical core dumps in edge cases
- Data is stored locally in SQLite database - keep regular backups!
- No data is ever sent to any remote server
- Linux is the only currently supported platform
- Report issues with steps to reproduce when possible
🚀 What's New in This Release
CSV Import/Export System (Phase 4)
CSV Export:
- Full database backup to CSV format
- Exports all 14 entity types in single file
- Preserves all relationships and IDs
- Sectioned format with
=== SECTION ===headers - ISO 8601 date format (YYYY-MM-DD)
- Automatic backup before import
- Export metadata with version info
CSV Import:
- Import from complete backup or single-entity templates
- Validate data before importing (dry-run mode)
- Duplicate detection with user choice:
- Skip existing item
- Overwrite existing item
- Import as new (rename)
- Cancel import
- Progress tracking with real-time updates
- Import in dependency order to maintain relationships
- Skip rows with errors, continue with valid data
- Template generation for manual data entry
Templates:
- Complete template with all 14 entity types
- Single-entity templates (firearms, consumables, etc.)
- Example data rows for reference
- Validation comments with field requirements
- Enum value documentation
Borrower Management Enhancements (Phase 5)
Delete Borrowers:
- Delete borrowers with confirmation dialog
- Validation prevents deletion if active checkouts exist
- Deletes borrower and all checkout history
- Red-styled delete button matching other tabs
- Error handling with clear user feedback
🔧 Complete Feature Set
Core Inventory Management
Firearms & Gear Tracking:
- Complete firearm inventory with maintenance tracking
- NFA item management (suppressors, SBRs, SBSs, etc.)
- Soft gear tracking (armor, vests, backpacks, boots)
- Attachments management with firearm mounting
- Automatic maintenance reminders based on:
- Rounds fired
- Time since last cleaning
- Time since last oiling
- Custom maintenance conditions (e.g., rain exposure, corrosive ammo use)
- Maintenance logging with multiple event types
Loadout System:
- Pre-configured gear sets for specific activities (hunting, range days, competitions)
- Loadout checkout with validation:
- Validates all items are available
- Checks maintenance status before allowing checkout
- Validates consumable stock levels
- Prevents checkout if critical issues found
- One-click loadout return with automatic round count logging per firearm
- Rain exposure tracking per firearm
- Ammo type recording for maintenance needs
- Automatic consumable deduction and restocking
- Duplicate loadouts for quick setup
Checkout Management:
- Item-level checkout for firearms, soft gear, and NFA items
- Borrower management with contact info
- Add/delete borrowers with validation (prevents deletion if active checkouts exist)
- Automatic status updates when items are checked out/returned
- Checkout history with return dates
Reloader's Log Book:
- Complete reload batch tracking
- Component-level data (bullet, powder, primer, case, etc.)
- Test results logging (velocity, ES, SD, group size)
- Case prep tracking (times fired, tumbling, etc.)
- Multiple batches per cartridge with different firearm assignments
Consumables Management:
- Inventory tracking (ammo, medical supplies, etc.)
- Low stock alerts when quantity drops below threshold
- Transaction history (add, use, adjust operations)
- Units of measure support (rounds, count, ounces, etc.)
Maintenance Logging:
- Comprehensive maintenance event tracking
- Event types: Cleaning, Lubrication, Repair, Zeroing, Hunting, Inspection
- Special event tracking:
- Rounds fired
- Rain exposure
- Corrosive ammo use
- Lead ammo use
- Oil application
- Photo attachment support for maintenance events
- Maintenance history per item with last cleaned date tracking
Attachments System:
- Optics, lights, stocks, rails, triggers, etc.
- Track which firearm each attachment is mounted on
- Zero data tracking (distance, notes)
- Mount position tracking (top rail, scout mount, etc.)
Private Sales Records
Firearm Transfer Tracking:
- Complete sale documentation
- Buyer information (name, address, DL#, LTC#)
- FFL dealer records (if used)
- Sale price tracking
- CSV export for transfer records
- Automatic firearm status updates (sets to TRANSFERRED)
NFA Registry Integration:
- Track all NFA items in one place
- Tax stamp ID tracking
- Form type recording (Form 1, Form 4, etc.)
- Trust name association
- Manufacturer and serial number tracking
- Integration with maintenance and checkout systems
Data Import/Export
CSV Export:
- Full database backup to CSV format
- Exports all 14 entity types in single file
- Preserves all relationships and IDs
- Sectioned format with
=== SECTION ===headers - ISO 8601 date format (YYYY-MM-DD)
- Automatic backup before import
- Export metadata with version info
CSV Import:
- Import from complete backup or single-entity templates
- Validate data before importing (dry-run mode)
- Duplicate detection with user choice:
- Skip existing item
- Overwrite existing item
- Import as new (rename)
- Cancel import
- Progress tracking with real-time updates
- Import in dependency order to maintain relationships
- Skip rows with errors, continue with valid data
- Template generation for manual data entry
Templates:
- Complete template with all 14 entity types
- Single-entity templates (firearms, consumables, etc.)
- Example data rows for reference
- Validation comments with field requirements
- Enum value documentation
📊 Feature Status
| Feature | Status |
|---|---|
| Firearms Management | ✅ Complete |
| Soft Gear Management | ✅ Complete |
| NFA Items & Compliance | ✅ Complete |
| Consumables Tracking | ✅ Complete |
| Attachments System | ✅ Complete |
| Reload/Handload Log | ✅ Complete |
| Borrower Management | ✅ Complete |
| Checkout/Return System | ✅ Complete |
| Loadouts System | ✅ Complete |
| Round Count Tracking | ✅ Complete |
| Maintenance Thresholds | ✅ Complete |
| Maintenance Logging | ✅ Complete |
| Automatic Maintenance Logging | ✅ Complete |
| Private Sales/Transfer Tracking | ✅ Complete |
| CSV Export | ✅ Complete |
| CSV Import | ✅ Complete |
| Templates | ✅ Complete |
🐛 Bug Fixes in This Release
- Maintenance flag not clearing after CLEANING operation
- Loadout checkouts not appearing in checkouts tab
- NFA item checkout crash (36 bindings SQL error)
- Loadout return only returning first item instead of all items
- App crash on startup (last_clean_date timestamp type error)
- Firearms showing incorrect maintenance status and round counts
- Missing delete button in Borrowers tab (added in Phase 5)
🔜 Coming in Beta Releases (Post-MVP)
Cross-Platform Support
- Windows support (testing and packaging)
- macOS support (testing and packaging)
Beta Polish
- UI refinements and visual improvements
- Performance optimizations for large inventories
- Enhanced error handling and recovery
- Comprehensive testing and bug fixing
Additional Features
- Photo attachments for maintenance logs (full support)
- Export summary reports (inventory lists, maintenance schedules, etc.)
- Data visualization (charts for usage statistics, maintenance trends)
- Advanced search and filtering across all data
- User settings and preferences
💾 Backup Instructions
CRITICAL: Always backup before upgrading:
# Close GearTracker, then:
cp ~/.gear_tracker/tracker.db ~/.gear_tracker/tracker.db.backupOr copy tracker.db to your preferred backup location.
📝 Installation
Requirements:
- Python 3.14+
- PyQt6
pip install PyQt6
python ui.pyPlatform Support:
- Linux: ✅ Currently Supported
- Windows: 🚧 Coming in Beta
- macOS: 🚧 Coming in Beta
📄 Changelog
v0.1.0-alpha (MVP) - Current Release ✅
Phase 4: CSV Import/Export System
- ✅ CSV export with all 14 entity types
- ✅ CSV import with validation and duplicate handling
- ✅ Dry-run mode for previewing imports
- ✅ Progress tracking with real-time updates
- ✅ Template generation (complete and single-entity)
- ✅ Automatic backup before import
- ✅ Dependency-ordered imports to maintain relationships
- ✅ Skip errors, continue with valid data
Phase 5: Borrower Management
- ✅ Delete borrowers button in Borrowers tab
- ✅ Validation prevents deletion with active checkouts
- ✅ Deletes borrower and all checkout history
- ✅ Red-styled button matching UI conventions
Bug Fixes:
- 🐛 Fixed: Maintenance flag not clearing after CLEANING
- 🐛 Fixed: Loadout checkouts not appearing in checkouts tab
- 🐛 Fixed: NFA item checkout crash (36 bindings error)
- 🐛 Fixed: Loadout return only returning first item
- 🐛 Fixed: App crash on startup (last_clean_date type error)
- 🐛 Fixed: Firearms showing incorrect maintenance status and round counts
v0.1.0-alpha.2
- ✅ Loadout builder with multi-category item selection
- ✅ One-click checkout with comprehensive validation
- ✅ Loadout return...
3 New Features
GearTracker v0.1.0-alpha.2 - Pre-Alpha Release Notes
Release Date: January 20, 2026
Version Tag: v0.1.0-alpha.2
⚠️ Important Notices
- This is a pre-alpha release - expect bugs and potential crashes
- May experience critical core dumps in edge cases
- Data is stored locally in SQLite database - keep regular backups!
- No data is ever sent to any remote server
- Report issues with steps to reproduce when possible
🚀 What's New
Loadouts System (Phase 3)
Create & Manage Loadouts:
- Build custom loadouts with firearms, soft gear, NFA items, and consumables
- Tabbed builder interface (Firearms, Soft Gear, NFA Items, Consumables)
- Visual display of mounted attachments on firearms
- Quantity selection for consumables
- Duplicate loadouts for quick variations
Checkout Loadouts:
- One-click checkout of entire loadout to borrower
- Automatic status validation:
- Blocks checkout if items are unavailable
- Blocks checkout if firearms need maintenance
- Warns if consumable stock will go negative or below minimum
- Automatic consumable deduction from inventory
Return Loadouts:
- Return entire loadout as a single unit (no partial returns)
- Per-firearm round count input for each firearm in loadout
- Rain exposure checkbox
- Ammo type selection:
- Normal
- Corrosive (triggers CORROSIVE_AMMO maintenance log)
- Lead (triggers LEAD_AMMO maintenance log)
- Custom
- Option to restock unused consumables
- Automatic maintenance logging:
- FIRED_ROUNDS for each firearm with round count > 0
- RAIN_EXPOSURE if rain exposure checked
- CORROSIVE_AMMO if corrosive ammo selected
- LEAD_AMMO if lead ammo selected
🔧 Existing Features
Inventory Management (Phase 1)
Firearms:
- Name, caliber, serial number, purchase date
- Notes and status tracking
- Attachment mounting
- Round count tracking
- Maintenance intervals (round-based & time-based)
NFA Items (Suppressors, SBRs, etc.):
- Full NFA compliance tracking
- Tax stamp ID tracking
- Form types (Form 1, Form 4)
- Trust association
- Transfer status tracking (OWNED/TRANSFERRED)
- Barrel length
- Purchase date and notes
Soft Gear:
- Clothing, optics, accessories
- Categories and descriptions
- Status tracking
Consumables:
- Name, category, unit of measure
- Current quantity tracking
- Minimum quantity alerts
- Transaction history (add/use transactions)
Attachments:
- Scopes, lights, suppressors, optics
- Mount to firearms
- Displayed in loadout builder (read-only)
Reload/Handload Log:
- Track reload batches
- Caliber, powder, primer, bullet info
- Quantity tracking
- Notes
Maintenance System (Phase 2)
Round Count Tracking:
- Track rounds fired per firearm
- Configurable clean interval (default 500 rounds)
- Configurable oil interval (default 90 days)
- Auto-flag maintenance when thresholds exceeded
Maintenance Status:
- Visual indicators in firearms table:
- Red background: Firearm needs maintenance
- Yellow background: Approaching threshold (80%+)
- Tooltips showing detailed reasons for maintenance
Maintenance Types:
- CLEANING - Resets round counter, clears maintenance flag
- LUBRICATION - Time-based oiling
- REPAIR - General repairs
- ZEROING - Scope/sight zeroing
- HUNTING - Hunting trips
- INSPECTION - Periodic inspections
- FIRED_ROUNDS - Auto-logged on loadout return
- OILING - For loadout integration
- RAIN_EXPOSURE - Auto-logged if rain exposure checked
- CORROSIVE_AMMO - Auto-logged if corrosive ammo selected
- LEAD_AMMO - Auto-logged if lead ammo selected
Checkout System
Borrower Management:
- Add borrowers with name, phone, email, notes
- Track checkouts per borrower
Checkouts:
- Checkout items to borrowers
- Set expected return dates
- Overdue detection (red highlighting in table)
- Return individual items
- Return entire loadouts with usage data
📊 Feature Status
| Feature | Status |
|---|---|
| Firearms Management | ✅ Complete |
| Soft Gear Management | ✅ Complete |
| NFA Items & Compliance | ✅ Complete |
| Consumables Tracking | ✅ Complete |
| Attachments System | ✅ Complete |
| Reload/Handload Log | ✅ Complete |
| Borrower Management | ✅ Complete |
| Checkout/Return System | ✅ Complete |
| Loadouts System | ✅ Complete |
| Round Count Tracking | ✅ Complete |
| Maintenance Thresholds | ✅ Complete |
| Maintenance Logging | ✅ Complete |
| Automatic Maintenance Logging | ✅ Complete |
| CSV Export | 🚧 Next Release |
| CSV Import | 🚧 Next Release |
🐛 Known Issues
- Loadout checkout validation may not catch all edge cases
- NFA item display in certain dialogs may have minor formatting issues
- Performance may degrade with very large inventories (>1000 items)
- Database migrations should be tested before upgrading from previous versions
- Core dumps may occur with certain operations - please report if you experience crashes
- Some UI transitions may have minor visual glitches
🔜 Coming in v0.1.0-beta.1 (MVP Release)
CSV Import/Export System (Phase 4)
CSV Export:
- Export all inventory data to CSV files
- Per-entity export (firearms, soft gear, NFA items, consumables, loadouts)
- Generate CSV templates for easy data entry
- One-click "Export All" to backup directory
CSV Import:
- Bulk import from CSV files
- Validation and error reporting with row-level details
- Duplicate detection options (skip/overwrite/merge)
- Dry-run mode to preview changes before committing
- Progress dialogs for large imports
Milestone:
- v0.1.0-beta.1 will constitute Minimum Viable Product (MVP)
- After MVP: Slow down for polishing before Beta
💾 Backup Instructions
CRITICAL: Always backup before upgrading:
# Close GearTracker, then:
cp ~/.gear_tracker/tracker.db ~/.gear_tracker/tracker.db.backupOr copy tracker.db to your preferred backup location.
📝 Installation
Requirements:
- Python 3.14+
- PyQt6
pip install PyQt6
python ui.pyPlatform Support:
- Linux: ✅ Currently Supported
- Windows: 🚧 Coming Soon
- macOS: 🚧 Coming Soon
📄 Changelog
v0.1.0-alpha.2 (Current)
- ✅ Loadout builder with multi-category item selection
- ✅ One-click checkout with comprehensive validation
- ✅ Loadout return with per-firearm round counts
- ✅ Automatic maintenance logging on return
- ✅ Full NFA item support in loadouts
- 🐛 Fixed: Maintenance flag not clearing after CLEANING
- 🐛 Fixed: Loadout checkouts not appearing in checkouts tab
- 🐛 Fixed: NFA item checkout crash (36 bindings error)
- 🐛 Fixed: Loadout return only returning first item
- 🐛 Fixed: App crash on startup (last_clean_date type error)
- 🐛 Fixed: Firearms showing wrong maintenance status and round counts
v0.1.0-alpha.1
- ✅ Round counting per firearm
- ✅ Configurable maintenance thresholds
- ✅ Visual maintenance alerts (red/yellow backgrounds)
- ✅ Maintenance history logging
- 🐛 Fixed: Various UI issues with loadout dialogs
v0.1.0-alpha.0
- ✅ Initial inventory management
- ✅ Firearms, soft gear, NFA items, consumables
- ✅ Attachments system
- ✅ Reload/Handload log
- ✅ Borrower management
- ✅ Checkout/return system
🤝 Support
- Report bugs: Please include steps to reproduce and error messages if possible
- Feature requests: Feedback welcome on what would make this more useful
- Donations: If you're benefiting from this software: https://paypal.me/ASchexnayder296
Thank you for testing GearTracker! 🦌
Pre-Alpha 1
Here’s a snapshot of where the app stands relative to the “MVP for my own hog‑hunting use” plan.
Completed features
Firearms tracking
Add/delete firearms, basic fields (name, caliber, serial, notes, purchase date).
Shows status (available/checked out) and last cleaning date with yellow warning for long‑overdue cleaning.
Soft gear tracking
Add/delete soft gear (chest rigs, packs, boots, gaiters, etc.) with category, brand, notes, and status (available/checked out).
Consumables tracking
Track ammo and other consumables with quantity, unit, low‑stock threshold, and transaction history (ADD/USE/ADJUST).
Export CSV includes consumables with low‑stock flag.
Borrowers and checkouts
Borrower list (name, contact info, notes).
Polymorphic checkouts for firearms, soft gear, and NFA items with active checkouts table and checkout history per item.
Maintenance logs
Polymorphic maintenance logs (cleaning, lubrication, repair, zeroing, hunting, inspection) for firearms/soft gear/NFA.
Each log can include ammo count and optional photo path; last cleaning date is derived from these logs.
NFA items
Separate NFA tab with suppressors/SBR/SBS/etc., with tax stamp ID, form type, trust name, status, and integration into checkouts.
Transfers
Transfer/sell workflow for firearms: buyer details, price, FFL info, notes; firearm marked TRANSFERRED and listed in Transfers tab.
Attachments system
New Attachment model and DB table for non‑regulated attachments (optics, lights, stocks, rails, triggers, etc.).
Attachments tab with add/edit/delete, plus linking each attachment to a specific firearm and storing zero distance/notes and mount position.
Packaging & distribution basics
PyInstaller one‑file build working (--onefile GUI binary).
Git workflow clarified: source in repo, binary attached to GitHub Releases, using semantic version tags (e.g., v0.1.0-alpha.1).
In‑progress feature
Reloading log (ReloadBatch)
Design agreed: per‑batch records with cartridge, optional firearm link, components (bullet/powder/primer/case), COAL/crimp, and performance summary (velocity, ES/SD, group).
Implementation plan sketched: ReloadBatch dataclass + reload_batches table + repo CRUD + “Reloading” tab with “Add Batch”, “Log Results”, and delete.
Remaining features before planned MVP
These are the things discussed as “v1‑critical” that are not wired up yet:
Finish Reloading log
Actually add the ReloadBatch dataclass and table, repository methods, and UI tab/dialogs described.
Optional niceties: CSV export of loads, filter by cartridge/firearm, and a simple safety disclaimer banner on the tab.
Hunt / trip loadouts
New Loadouts tab:
Define named loadouts like “Sam Houston NF – night hogs” with selected firearms, soft gear, NFA items, and consumables plus quantities.
Provide a printable/exportable checklist and an in‑app checklist view to mark items as “packed”.
Later integration with checkouts (nice‑to‑have, but not required for MVP): one‑click applying a loadout creates checkouts for selected gear and decrements consumables.
Round‑count & maintenance thresholds
Per‑firearm threshold fields: rounds between cleaning, days between cleaning, optional lifetime round limit.
Derived status per firearm: OK / DUE SOON / OVERDUE based on total rounds fired and last cleaning date, surfaced as color‑coded columns in the Firearms tab.
Optional future tie‑in: when logging a “Range Session” with ammo count, automatically bump round‑count and re‑evaluate status.
Small polish items for MVP
Export improvements:
Extend existing CSV export to include NFA items and attachments; optionally a separate export for reload batches.
Version/about info:
Simple “About” dialog that shows app name, current version (from a constant), and maybe a one‑liner mission statement about stewardship/hunting use.
Beta releases will consist of UX Polishing and improved platform support outside of Linux.