Package Configuration:
- Enhanced setup.py with comprehensive metadata and classifiers
- Modern pyproject.toml with build system configuration
- MANIFEST.in for proper file inclusion/exclusion
- Added __main__.py for python -m execution
- py.typed marker for type checking support
Dependencies Management:
- Separated development dependencies in requirements-dev.txt
- Core dependencies with version constraints
- Optional dependencies for docs and development
- Build tools configuration
Installation and Distribution:
- Console script entry points (qbit-torrent-extract, qte)
- Proper package structure with src layout
- Wheel and source distribution support
- PyPI-ready metadata and classifiers
Container Support:
- Multi-stage Dockerfile for production deployment
- qBittorrent integration Dockerfile
- Docker Compose configurations
- .dockerignore for optimized builds
Release Documentation:
- Comprehensive CHANGELOG.md with version history
- Docker integration documentation
- Build and installation instructions
Successfully builds:
- qbit_torrent_extract-0.1.0-py3-none-any.whl
- qbit_torrent_extract-0.1.0.tar.gz
Package is now ready for PyPI distribution and Docker deployment\!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added "No files found are eligible for import" quotes and references
- Created dedicated troubleshooting section for *arr app integration
- Added BitBook and archive-ception jokes throughout
- Included real-world example: Chuck.Palahniuk.-.Fight.Club.2011.Retail.EPUB.eBook-BitBook
- Added "Make Readarr Happy" configuration example
- Referenced the tool as "The Readarr Whisperer"
Because we've all been there, staring at that error message, knowing the
EPUB is RIGHT THERE inside that ZIP file. This tool was born from that
exact frustration\! 📚🤖🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- CLI now includes all specified options from spec:
* --verbose/--quiet for output verbosity
* --max-depth for nested archive limits
* --help for documentation
* --version for version information
- Additional CLI features beyond spec:
* --preserve/--no-preserve for archive handling
* --config for configuration file support
* --max-ratio for zipbomb protection
* --log-dir for custom log directories
* --torrent-name for per-torrent logging
* --stats-file, --show-stats, --export-stats for statistics
- Applied black code formatting to entire codebase
- Input validation handled by click path validation
- Comprehensive help documentation included
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create StatisticsManager with full archive processing tracking
- Add persistent JSON storage with atomic writes for data integrity
- Implement detailed error categorization (8 error types)
- Track performance metrics including extraction time and throughput
- Support aggregated statistics across multiple runs
- Add CLI options for --stats-file, --show-stats, --export-stats
- Integrate statistics with extractor for detailed per-archive tracking
- Maintain backward compatibility with legacy stats structure
- Write comprehensive test suite with 31 tests covering all functionality
- Support statistics export and data management operations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add enhanced logging module with structured formatting
- Implement per-torrent log files with automatic sanitization
- Add log rotation with configurable size and count limits
- Create contextual logging with archive path and torrent information
- Integrate logging system with extractor and main CLI
- Add support for normal/verbose modes and log level management
- Implement console and file logging with separate formatters
- Add comprehensive test suite for logging functionality
- Support torrent-name CLI option for per-torrent logging
- Provide logging statistics and management capabilities
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add ArchiveValidator class with support for .zip, .rar, .7z, .tar, .tar.gz
- Implement zipbomb protection with configurable extraction ratio limits
- Add nested archive depth checking to prevent excessive recursion
- Support validation of corrupted archives and password protection
- Include comprehensive test suite with 14 tests
- Add py7zr dependency for 7z archive support
- Update progress summary to 2/11 complete (18%)
- Check off configuration system in checklist
- Mark all subtasks as complete
- Note that documentation is deferred to Prompt 10
- Add markdown checklist for all prompts
- Include progress summary with statistics
- Add git workflow guidelines and best practices
- Define commit message format
- Add subtask tracking for detailed progress
- Mark current completion status for each prompt