5 Commits

Author SHA1 Message Date
cd18a8da38 Remove unnecessary Redis service from Docker setup
Redis was included but not actually used by the video processor.
Only PostgreSQL is needed for Procrastinate job queue functionality.

- Remove redis service from docker-compose.yml
- Remove Redis dependencies from app and demo services
- Update README to reflect simplified service architecture
2025-09-05 10:46:42 -06:00
d9f1ecdcce Update README.md with v0.2.0 features
- Add v0.2.0 changelog with Procrastinate 3.x migration and Docker support
- Include Docker Quick Start section with service descriptions
- Add new examples (docker_demo.py, web_demo.py) to examples table
- Update test coverage section reflecting 43 passing tests
- Highlight new features: compatibility layer, migration utilities, Docker environment
2025-09-05 10:45:32 -06:00
5ca1b7a07d Migrate to Procrastinate 3.x with backward compatibility for 2.x
- Add comprehensive compatibility layer supporting both Procrastinate 2.x and 3.x
- Implement version-aware database migration system with pre/post migrations for 3.x
- Create worker option mapping for seamless transition between versions
- Add extensive test coverage for all compatibility features
- Update dependency constraints to support both 2.x and 3.x simultaneously
- Provide Docker containerization with uv caching and multi-service orchestration
- Include demo applications and web interface for testing capabilities
- Bump version to 0.2.0 reflecting new compatibility features

Key Features:
- Automatic version detection and feature flagging
- Unified connector creation across PostgreSQL drivers
- Worker option translation (timeout → fetch_job_polling_interval)
- Database migration utilities with CLI and programmatic interfaces
- Complete Docker Compose setup with PostgreSQL, Redis, workers, and demos

Files Added:
- src/video_processor/tasks/compat.py - Core compatibility layer
- src/video_processor/tasks/migration.py - Migration utilities
- src/video_processor/tasks/worker_compatibility.py - Worker CLI
- tests/test_procrastinate_compat.py - Compatibility tests
- tests/test_procrastinate_migration.py - Migration tests
- Dockerfile - Multi-stage build with uv caching
- docker-compose.yml - Complete development environment
- examples/docker_demo.py - Containerized demo application
- examples/web_demo.py - Flask web interface demo

Migration Support:
- Procrastinate 2.x: Single migration command compatibility
- Procrastinate 3.x: Separate pre/post migration phases
- Database URL validation and connection testing
- Version-specific feature detection and graceful degradation
2025-09-05 10:38:12 -06:00
9c0bd90299 Add optional 360° video processing dependencies
- Add video-360 extra for core 360° processing (py360convert, opencv, numpy, scipy)
- Add spatial-audio extra for spatial audio processing (librosa, soundfile)
- Add metadata-360 extra for enhanced metadata extraction (exifread)
- Add video-360-full extra for complete 360° feature set
- Update README with installation options and feature documentation
- Maintain backward compatibility with existing basic installation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 09:26:30 -06:00
8253c56d2c 🎬 Initial release: Professional video processing library
 Features:
- Multi-format encoding (MP4, WebM, OGV) with two-pass encoding
- Professional quality presets (Low, Medium, High, Ultra)
- Thumbnail generation and seekbar sprite creation
- Background processing with Procrastinate integration
- Type-safe configuration with Pydantic V2
- Modern Python tooling (uv, ruff, pytest)
- Comprehensive test suite and documentation

🛠️ Tech Stack:
- Python 3.11+ with full type hints
- FFmpeg integration via ffmpeg-python
- msprites2 fork for professional sprite generation
- Procrastinate for scalable background tasks
- Storage abstraction layer (local + future S3)

📚 Includes examples, API documentation, and development guides

🚀 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 08:01:33 -06:00