{"id":26208478,"url":"https://github.com/mwmdev/sly","last_synced_at":"2026-04-20T22:08:41.220Z","repository":{"id":259536940,"uuid":"868612229","full_name":"mwmdev/sly","owner":"mwmdev","description":"sly is a cli slideshow maker","archived":false,"fork":false,"pushed_at":"2025-06-10T18:34:50.000Z","size":65909,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-27T08:26:53.441Z","etag":null,"topics":["cli","slideshow-maker"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mwmdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-06T20:21:13.000Z","updated_at":"2025-09-06T16:36:18.000Z","dependencies_parsed_at":"2024-10-26T17:52:20.979Z","dependency_job_id":null,"html_url":"https://github.com/mwmdev/sly","commit_stats":null,"previous_names":["mwmdev/sly"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mwmdev/sly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwmdev%2Fsly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwmdev%2Fsly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwmdev%2Fsly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwmdev%2Fsly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mwmdev","download_url":"https://codeload.github.com/mwmdev/sly/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwmdev%2Fsly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32067724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T21:26:33.338Z","status":"ssl_error","status_checked_at":"2026-04-20T21:26:22.081Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","slideshow-maker"],"created_at":"2025-03-12T06:28:49.214Z","updated_at":"2026-04-20T22:08:41.198Z","avatar_url":"https://github.com/mwmdev.png","language":"Python","readme":"`sly` is a lightweight and flexible command-line tool for creating slideshows from your image collections. With support for tansition effect, soundtrack, and title slide, `sly` makes it easy to quickly turn your photos into nice-looking videos.\n\n## Features\n\n- Create slideshows from a folder of images\n- Customize image and transition duration\n- Add background music to your slideshow\n- Include a title slide with custom font\n- Support for various image ordering options (by name, date, or random)\n- Adjustable output resolution and frame rate\n- Progress bar for real-time rendering updates\n\n## Installation\n\n### Prerequisites\n\nMake sure you have the following installed:\n\n- Python 3.7+\n- FFmpeg\n\n### Manual Installation\n\nClone the repository:\n\n   ```bash\n   git clone https://github.com/mwmdev/sly.git\n   cd sly\n   ```\n\nCreate and activate a virtual environment:\n\n   ```bash\n   python3 -m venv venv\n   source venv/bin/activate # or .\\venv\\Scripts\\activate on Windows\n   ```\n\nInstall the required Python packages:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n### Using Nix\n\nIf you're using _NixOS_ or have the _Nix_ package manager installed, you can use the provided `shell.nix` file to set up the environment.\n\n## Usage\n\nBasic usage:\n\n```bash\npython sly.py --path ./path/to/images --output ./path/to/output.mp4\n```\n\n### Options\n\n- `--path`, `-p`: Path to the images directory (default: current directory)\n- `--image-duration`, `-id`: The number of seconds each image will be displayed\n- `--image-order`, `-io`: Order of images (choices: name, date, random)\n- `--transition-duration`, `-td`: The number of seconds the transition effect will take to complete\n- `--slideshow-width`, `-sw`: The width of the slideshow in pixels\n- `--slideshow-height`, `-sh`: The height of the slideshow in pixels\n- `--output`, `-o`: The name of the output file\n- `--title`, `-t`: The title of the slideshow \n- `--font`, `-f`: Path to a .ttf font file for the title    \n- `--font-size`, `-fs`: The size of the font for the title \n- `--soundtrack`, `-st`: The path to the audio file for the soundtrack \n- `--fps`, `-fps`: The number of frames per second for the output video (default: 24.0)\n- `--config`, `-c`: Path to a custom config file \n- `--verbose`, `-v`: Print more information\n\nDefault values are loaded from `config.toml` file in the current directory or in `~/.config/sly/config.toml` if the file is not found in the current directory.\n\n\n### Examples\n\n1. Create a slideshow with default settings:\n   ```bash\n   python sly.py --path /path/to/vacation/photos\n   ```\n\n2. Create a slideshow with custom duration and random order:\n   ```bash\n   python sly.py --path /path/to/photos --image-duration 3 --image-order random\n   ```\n\n3. Create a slideshow with a title and a custom font:\n   ```bash\n   python sly.py --path /path/to/photos --title \"Summer Vacation 2023\" --font /path/to/font.ttf --font-size 48\n   ```\n\n4. Create a high-resolution slideshow with custom FPS:\n   ```bash\n   python sly.py --path /path/to/photos --slideshow-width 3840 --slideshow-height 2160 --fps 30\n   ```\n\n5. Create a slideshow with a soundtrack:\n   ```bash\n   python sly.py --path /path/to/photos --soundtrack /path/to/soundtrack.mp3\n   ```\n\n### Sample output\n\nHere's a sample output from the command below:\n\n```bash\npython sly.py -p img -sw 400 -sh 300 -id 3 -td 1 -t \"Live Free\" -f fonts/HomemadeApple-Regular.ttf -fs 50\n```\n\nTerminal output:\n\n![sample output](assets/screenshot.png)\n\nRendered video:\n\n![slideshow](assets/slideshow.gif)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- [MoviePy](https://zulko.github.io/moviepy/) for video editing capabilities\n- [Pillow](https://python-pillow.org/) for image processing\n- [Rich](https://rich.readthedocs.io/) for beautiful terminal output\n- [FFmpeg](https://ffmpeg.org/) for video encoding\n\n## Support\n\nIf you encounter any problems or have any suggestions, please open an issue on the GitHub repository.\n\n---\n\nHappy slideshow creating with sly!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwmdev%2Fsly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmwmdev%2Fsly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwmdev%2Fsly/lists"}