A cross-platform full-screen photo slideshow application with smooth dissolve transitions.
 |
To quit the application:
- macOS:
Cmd+Qor SlideShow menu β Quit - Windows: Click the X button, Alt+F4, or File menu β Exit
- Linux:
Ctrl+Qor application menu β Quitelds.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-blue)
- Full-screen slideshow with automatic image cycling
- Smooth dissolve transitions between images
- Cross-platform compatibility (Windows, macOS, Linux)
- Multiple image formats (JPG, PNG, WebP, BMP, TIFF, GIF)
- Customizable timing for display and transition duration
- Keyboard controls for navigation and playback
- Natural file sorting matching your operating system
- GUI and command-line interfaces available
π License Notice: SlideShow is free for personal, educational, and research use under the CC BY-NC 4.0 license. Commercial use is prohibited. Learn more
- Go to Releases
- Download `SlideShow-Windows.zip`
- Extract and run `SlideShow.exe`
- Go to Releases
- Download `SlideShow-macOS.zip`
- Extract and run `SlideShow.app`
- If macOS shows security warnings, go to System Preferences > Security & Privacy > General and click "Open Anyway"
- Go to Releases
- Download `SlideShow-Linux.zip`
- Extract and run `./SlideShow`
- Python 3.8 or higher
- pip (Python package installer)
-
Clone the repository ```bash git clone https://github.com/ftaisdeal/python_slide_show.git cd python_slide_show ```
-
Create virtual environment (recommended)
Windows: ```cmd python -m venv .venv .venv\Scripts\activate ```
macOS/Linux: ```bash python3 -m venv .venv source .venv/bin/activate ```
-
Install dependencies ```bash pip install pillow ```
-
Run the application
GUI Version (recommended): ```bash python slide_show_gui.py ```
Command Line Version: ```bash python slide_show.py /path/to/your/photos ```
-
Install PyInstaller ```bash pip install pyinstaller ```
-
Build the application
Windows: ```cmd pyinstaller --onedir --windowed --name "SlideShow" slide_show_gui.py ```
macOS/Linux: ```bash pyinstaller --onedir --windowed --name "SlideShow" slide_show_gui.py ```
-
Find your executable in the `dist/` folder
- Launch the application
- Click "Browse..." to select your photo directory
- Adjust display time and dissolve time if desired
- Click "Start Slideshow"
```bash python slide_show.py [display_time_seconds] [dissolve_time_seconds] ```
Examples: ```bash
python slide_show.py ~/Pictures/vacation
python slide_show.py ~/Pictures/vacation 8 2
python slide_show.py ~/Pictures/vacation 1 0.5 ```
| Key | Action |
|---|---|
| `Escape` or `q` | Quit slideshow |
| `Space` | Pause/Resume |
| `Right Arrow` | Next image |
| `Left Arrow` | Previous image |
- JPEG (.jpg, .jpeg)
- PNG (.png)
- WebP (.webp)
- BMP (.bmp)
- TIFF (.tiff, .tif)
- GIF (.gif)
All formats support both uppercase and lowercase extensions
- Images are automatically resized to fit your screen while maintaining aspect ratio
- Images are centered on a black background
- Smooth dissolve transitions are rendered in real-time
- Automatic orientation correction based on EXIF data ensures photos display correctly regardless of camera orientation
The application automatically reads and applies EXIF orientation data from your images:
- Correct rotation: Photos taken in portrait or rotated positions display upright
- Seamless processing: No manual rotation needed - works automatically
- Preserves quality: Orientation correction is applied without image degradation
- Camera compatibility: Works with photos from smartphones, digital cameras, and other devices that embed orientation metadata
Note: Images without EXIF orientation data will display as-is
- Windows: Natural sorting (image1.jpg, image2.jpg, image10.jpg)
- macOS: Finder-compatible locale-aware sorting
- Linux: Case-insensitive alphabetical sorting
- Optimized for large image collections
- Efficient memory usage with image caching
- Smooth 60fps dissolve animations
"No image files found"
- Ensure your directory contains supported image formats
- Check that file extensions are recognized (.jpg, .png, etc.)
App won't start on macOS
- Right-click the app and select "Open"
- Go to System Preferences > Security & Privacy and allow the app
Slideshow runs too fast/slow
- Adjust the display time in the GUI or command line arguments
- Minimum recommended display time: 0.1 seconds
Images appear distorted
- Images are automatically resized to fit screen while maintaining aspect ratio
- Very wide or tall images will have black bars to preserve proportions
- Check the Issues page for known problems
- Create a new issue with your problem description and system details
- Include error messages and steps to reproduce
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).
- β You can: Use, modify, and share this software freely for personal, educational, and research purposes
- β You can: Create derivative works and improvements (with attribution)
- β You cannot: Use this software for commercial purposes or sell it
- π You must: Provide appropriate attribution when sharing or modifying
For the complete license terms, see the LICENSE file or visit Creative Commons BY-NC 4.0.
Note: This non-commercial license ensures the SlideShow software remains free and accessible while preventing commercial exploitation.
- Built with Python and Tkinter
- Image processing powered by Pillow (PIL)
- Cross-platform compatibility through PyInstaller