Implements non-blocking part import to prevent UI freezing when scanning unknown parts.
Features:
- Background import worker thread processes unknown parts
- New "Pending Imports" UI section shows import progress
- User can continue scanning other parts while imports run
- Automatic retry on failure (up to 3 attempts)
- Parts automatically processed when import completes
Changes:
- Added PendingPart and ImportResult data structures
- Added PartImportWorker background thread class
- Replaced blocking find_or_import_part() with async find_part()
- Added pending parts queue UI with status display
- Added _on_import_complete() callback handler
- Added _update_pending_parts_ui() for real-time updates
- Added proper cleanup on window close
Benefits:
- No more 30+ second UI freezes during part imports
- Can scan multiple unknown parts in quick succession
- Visual feedback showing import status for each part
- Automatic error handling and retry logic
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Restructured project to use src/stocktool package layout
- Migrated to UV for dependency management
- Added pyproject.toml with all dependencies (sv-ttk, pillow, requests, pyyaml)
- Organized test files into tests/ directory
- Updated .gitignore for UV projects
- Comprehensive README with installation and usage instructions
- Removed old unused files (main.py, stock_tool_gui.py, duplicate copy)
- Added CLI entry point: stock-tool command
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
A comprehensive barcode scanning application for InvenTree inventory management.
Features:
- Multi-mode operation (Add/Update/Check/Locate stock)
- Smart duplicate prevention when adding stock
- Barcode scanning with automatic part code cleaning
- Real-time server connection monitoring
- Part information display with images
- Debug mode for troubleshooting
Fixes applied:
- Fixed encoding issues with non-ASCII characters in barcodes
- Fixed API response handling for list and dict formats
- Implemented duplicate prevention using PATCH to update existing stock
- Added comprehensive error handling and logging
Includes test suite for verification of all fixes.