diff --git a/README.md b/README.md index bc93b77..8bae9db 100644 --- a/README.md +++ b/README.md @@ -310,6 +310,37 @@ Explore our comprehensive examples in the [`examples/`](examples/) directory: | [`basic_usage.py`](examples/basic_usage.py) | ๐ŸŽฏ Simple synchronous processing | Configuration, encoding, thumbnails | | [`async_processing.py`](examples/async_processing.py) | โšก Background task processing | Procrastinate, job queuing, monitoring | | [`custom_config.py`](examples/custom_config.py) | ๐Ÿ› ๏ธ Advanced configuration scenarios | Quality presets, validation, custom paths | +| [`docker_demo.py`](examples/docker_demo.py) | ๐Ÿณ Complete containerized demo | Docker, PostgreSQL, async workers | +| [`web_demo.py`](examples/web_demo.py) | ๐ŸŒ Flask web interface | Browser-based processing, job submission | + +### ๐Ÿณ Docker Quick Start + +Get up and running in seconds with our complete Docker environment: + +```bash +# Start all services (PostgreSQL, Redis, app, workers) +docker-compose up -d + +# View logs from the demo application +docker-compose logs -f app + +# Access web demo at http://localhost:8080 +docker-compose up demo + +# Run tests in Docker +docker-compose run test + +# Clean up +docker-compose down -v +``` + +**Services included:** +- ๐Ÿ—„๏ธ **PostgreSQL** - Database with Procrastinate job queue +- ๐Ÿ”ด **Redis** - Caching and session storage +- ๐ŸŽฌ **App** - Main video processor demo +- โšก **Worker** - Background job processor +- ๐Ÿงช **Test** - Automated testing environment +- ๐ŸŒ **Demo** - Web interface for browser-based testing ### ๐ŸŽฌ Real-World Usage Patterns @@ -455,18 +486,24 @@ uv run mypy src/ Our comprehensive test suite covers: -- โœ… Configuration validation and type checking -- โœ… Path utilities and file operations -- โœ… FFmpeg integration and error handling -- โœ… Video metadata extraction -- โœ… Background task processing +- โœ… **Configuration** validation and type checking +- โœ… **Path utilities** and file operations +- โœ… **FFmpeg integration** and error handling +- โœ… **Video metadata** extraction +- โœ… **Background task** processing +- โœ… **Procrastinate compatibility** (2.x/3.x versions) +- โœ… **Database migrations** with version detection +- โœ… **Worker configuration** and option mapping +- โœ… **360ยฐ video processing** (when dependencies available) ```bash ========================== test session starts ========================== -tests/test_config.py โœ…โœ…โœ…โœ… [33%] -tests/test_utils.py โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ… [100%] +tests/test_config.py โœ…โœ…โœ…โœ…โœ… [15%] +tests/test_utils.py โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ… [30%] +tests/test_procrastinate_compat.py โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ… [85%] +tests/test_procrastinate_migration.py โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ… [100%] -======================== 12 passed in 0.11s ======================== +======================== 43 passed in 0.52s ======================== ``` --- @@ -568,12 +605,23 @@ This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) ## ๐ŸŽ‰ Changelog +### ๐Ÿš€ v0.2.0 - Procrastinate 3.x Migration & Docker Support + +- ๐Ÿ”„ **Procrastinate 3.x compatibility** with backward support for 2.x +- ๐ŸŽฏ **Automatic version detection** and feature flagging +- ๐Ÿ“‹ **Database migration utilities** with pre/post migration support +- ๐Ÿณ **Complete Docker environment** with multi-service orchestration +- ๐ŸŒ **Web demo interface** with Flask-based UI +- โšก **Worker compatibility layer** with unified CLI +- ๐Ÿงช **30+ comprehensive tests** covering all compatibility scenarios +- ๐Ÿ“Š **uv caching optimization** following Docker best practices + ### ๐ŸŒŸ v0.1.0 - Initial Release - โœจ **Multi-format encoding**: MP4, WebM, OGV support - ๐Ÿ–ผ๏ธ **Thumbnail generation** with customizable timestamps - ๐ŸŽž๏ธ **Sprite sheet creation** with WebVTT files -- โšก **Background processing** with Procrastinate (2.x and 3.x compatible) +- โšก **Background processing** with Procrastinate integration - โš™๏ธ **Type-safe configuration** with Pydantic V2 - ๐Ÿ› ๏ธ **Modern tooling**: uv, ruff, pytest integration - ๐Ÿ“š **Comprehensive documentation** and examples