Name | YTSage JSON |
Version |
3.5.0
JSON |
| download |
home_page | https://github.com/oop7/YTSage |
Summary | Modern YouTube downloader with a clean PySide6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance. |
upload_time | 2025-01-30 14:07:22 |
maintainer | None |
docs_url | None |
author | oop7 |
requires_python | >=3.7 |
license | MIT License |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
PySide6
yt-dlp
requests
pillow
packaging
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# YTSage
A modern YouTube downloader with a clean PySide6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance.
## Screenshots
### Main Interface

*Main interface with video metadata and thumbnail preview*
### Playlist download support with auto-detection

*Playlist download with auto-detection*
### Audio Format Selection

*Smart format selection with quality options*
### Subtitle Options

*Support for both manual and auto-generated subtitles*
## Features
- đĨ Smart video quality selection with automatic audio merging
- đĩ Audio-only extraction
- đ Manual and auto-generated subtitle support with language filtering
- âšī¸ Video metadata display (views, upload date, duration)
- đŧī¸ Thumbnail preview
- đ¨ Clean, modern PySide6 interface
- đ Built on yt-dlp for robust downloading
- â¯ī¸ Download control (pause, resume, and cancel)
- đ Real-time progress tracking (speed, ETA, percentage)
- đ Built-in yt-dlp log viewer
- âī¸ Custom yt-dlp command support with real-time output
- đ Playlist download support with auto-detection
- đž Save download path memory
- đ One-click yt-dlp updater
- â ī¸ User-friendly error messages
- đ ī¸ FFmpeg installation checker and guide
- đ Quick URL paste button
- đ¯ Smart format filtering (Video/Audio)
## Download
You can download the latest executable from the [Releases](https://github.com/oop7/YTSage/releases) page.
### Pre-built Executables
- Windows: `YTSage.exe`
- macOS: `YTSage.app`
- Linux: `YTSage.AppImage`
- No installation required - just download and run!
### PyPI Package
You can also install YTSage directly from PyPI:
```bash
pip install YTSage
```
### Installation
1. Clone the repository:
```bash
git clone https://github.com/oop7/YTSage.git
cd YTSage
```
2. Install the required dependencies:
```bash
pip install -r requirements.txt
```
3. Run the application:
```bash
python YTSage.py
```
# Usage
1. **Run the application**
2. **Paste a YouTube URL** into the input field
3. **Click "Analyze"** to load video information
4. **Select your desired format**:
- Choose **"Video"** for video downloads (will automatically merge with best audio)
- Choose **"Audio Only"** for audio extraction
5. **Enable subtitle download** if needed
6. **Select the output directory**
7. **Click "Download"** to start
---
### Additional Steps for Playlist Download:
1. **Paste the Playlist URL**: Instead of a single video URL, paste the URL of the entire YouTube playlist into the input field.
2. **Analyze the Playlist**: Click "Analyze" to load information for all videos in the playlist.
3. **Select Best Quality**: Ensure that the best quality option is selected for both video and audio.
4. **Download the Playlist**: Click "Download" to start downloading all videos in the playlist. The application should automatically handle the download queue.
---
### Note:
- **Best Quality**: Always select the highest available resolution (e.g., 1080p, 4K) for video and the best audio format (e.g., 320kbps) for the best experience.
- **Subtitle Download**: If you need subtitles, enable this option before starting the download.
- **Output Directory**: Choose a directory with enough storage space, especially for large playlists.
By following these steps, you can efficiently download entire playlists in the best quality without encountering issues.
## Requirements
- Python 3.7+
- PySide6
- yt-dlp
- Pillow
- requests
- ffmpeg
- packaging
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- [yt-dlp](https://github.com/yt-dlp/yt-dlp) for the powerful downloading engine
- [PySide6](https://en.wikipedia.org/wiki/PySide) for the GUI framework
- [FFmpeg](https://ffmpeg.org/) for the audio and video processing
- [Pillow](https://pypi.org/project/Pillow/) for the image processing
- [requests](https://pypi.org/project/requests/) for the HTTP requests
- [packaging](https://pypi.org/project/packaging/) for the package management
- [PyInstaller](https://pypi.org/project/PyInstaller/) for the executable creation
## Disclaimer
This tool is for personal use only. Please respect YouTube's terms of service and content creators' rights.
Raw data
{
"_id": null,
"home_page": "https://github.com/oop7/YTSage",
"name": "YTSage",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "oop7",
"author_email": "oop7 <oop7_support@proton.me>",
"download_url": "https://files.pythonhosted.org/packages/c5/fb/642150e52e34b4c3028dde1ad265356b4ef0498d8e9f7c641e946da5f861/ytsage-3.5.0.tar.gz",
"platform": null,
"description": "# YTSage\r\n\r\nA modern YouTube downloader with a clean PySide6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance.\r\n\r\n## Screenshots\r\n\r\n### Main Interface\r\n\r\n\r\n\r\n*Main interface with video metadata and thumbnail preview*\r\n\r\n### Playlist download support with auto-detection\r\n\r\n\r\n\r\n*Playlist download with auto-detection*\r\n### Audio Format Selection\r\n\r\n\r\n\r\n*Smart format selection with quality options*\r\n\r\n### Subtitle Options\r\n\r\n\r\n\r\n*Support for both manual and auto-generated subtitles*\r\n\r\n## Features\r\n\r\n- \ud83c\udfa5 Smart video quality selection with automatic audio merging\r\n- \ud83c\udfb5 Audio-only extraction\r\n- \ud83d\udcdd Manual and auto-generated subtitle support with language filtering\r\n- \u2139\ufe0f Video metadata display (views, upload date, duration)\r\n- \ud83d\uddbc\ufe0f Thumbnail preview\r\n- \ud83c\udfa8 Clean, modern PySide6 interface\r\n- \ud83d\ude80 Built on yt-dlp for robust downloading\r\n- \u23ef\ufe0f Download control (pause, resume, and cancel)\r\n- \ud83d\udcca Real-time progress tracking (speed, ETA, percentage)\r\n- \ud83d\udcdd Built-in yt-dlp log viewer\r\n- \u2699\ufe0f Custom yt-dlp command support with real-time output\r\n- \ud83d\udccb Playlist download support with auto-detection\r\n- \ud83d\udcbe Save download path memory\r\n- \ud83d\udd04 One-click yt-dlp updater\r\n- \u26a0\ufe0f User-friendly error messages\r\n- \ud83d\udee0\ufe0f FFmpeg installation checker and guide\r\n- \ud83d\udcce Quick URL paste button\r\n- \ud83c\udfaf Smart format filtering (Video/Audio)\r\n\r\n## Download\r\n\r\nYou can download the latest executable from the [Releases](https://github.com/oop7/YTSage/releases) page.\r\n\r\n### Pre-built Executables\r\n- Windows: `YTSage.exe`\r\n- macOS: `YTSage.app`\r\n- Linux: `YTSage.AppImage`\r\n- No installation required - just download and run!\r\n\r\n### PyPI Package\r\nYou can also install YTSage directly from PyPI:\r\n```bash\r\npip install YTSage\r\n```\r\n\r\n\r\n### Installation\r\n\r\n1. Clone the repository:\r\n```bash\r\ngit clone https://github.com/oop7/YTSage.git\r\n\r\ncd YTSage\r\n```\r\n2. Install the required dependencies:\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n3. Run the application:\r\n```bash\r\npython YTSage.py\r\n```\r\n\r\n# Usage\r\n\r\n1. **Run the application** \r\n2. **Paste a YouTube URL** into the input field \r\n3. **Click \"Analyze\"** to load video information \r\n4. **Select your desired format**: \r\n - Choose **\"Video\"** for video downloads (will automatically merge with best audio) \r\n - Choose **\"Audio Only\"** for audio extraction \r\n5. **Enable subtitle download** if needed \r\n6. **Select the output directory** \r\n7. **Click \"Download\"** to start \r\n\r\n---\r\n\r\n### Additional Steps for Playlist Download:\r\n\r\n1. **Paste the Playlist URL**: Instead of a single video URL, paste the URL of the entire YouTube playlist into the input field. \r\n2. **Analyze the Playlist**: Click \"Analyze\" to load information for all videos in the playlist. \r\n3. **Select Best Quality**: Ensure that the best quality option is selected for both video and audio. \r\n4. **Download the Playlist**: Click \"Download\" to start downloading all videos in the playlist. The application should automatically handle the download queue. \r\n\r\n---\r\n\r\n### Note: \r\n- **Best Quality**: Always select the highest available resolution (e.g., 1080p, 4K) for video and the best audio format (e.g., 320kbps) for the best experience. \r\n- **Subtitle Download**: If you need subtitles, enable this option before starting the download. \r\n- **Output Directory**: Choose a directory with enough storage space, especially for large playlists. \r\n\r\nBy following these steps, you can efficiently download entire playlists in the best quality without encountering issues. \r\n\r\n## Requirements\r\n\r\n- Python 3.7+\r\n- PySide6\r\n- yt-dlp\r\n- Pillow\r\n- requests\r\n- ffmpeg\r\n- packaging\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n1. Fork the repository\r\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\r\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\r\n4. Push to the branch (`git push origin feature/AmazingFeature`)\r\n5. Open a Pull Request\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Acknowledgments\r\n\r\n- [yt-dlp](https://github.com/yt-dlp/yt-dlp) for the powerful downloading engine\r\n- [PySide6](https://en.wikipedia.org/wiki/PySide) for the GUI framework\r\n- [FFmpeg](https://ffmpeg.org/) for the audio and video processing\r\n- [Pillow](https://pypi.org/project/Pillow/) for the image processing\r\n- [requests](https://pypi.org/project/requests/) for the HTTP requests\r\n- [packaging](https://pypi.org/project/packaging/) for the package management\r\n- [PyInstaller](https://pypi.org/project/PyInstaller/) for the executable creation\r\n\r\n## Disclaimer\r\n\r\nThis tool is for personal use only. Please respect YouTube's terms of service and content creators' rights.\r\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Modern YouTube downloader with a clean PySide6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance.",
"version": "3.5.0",
"project_urls": {
"Homepage": "https://github.com/oop7/YTSage"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1553b54bc95b3cdc3203fcd530e1b1f49b9318e0d3fb7c146b48511a0901b354",
"md5": "2daa8a2ffb1b43b3e5fc8cfec302c85b",
"sha256": "1d4bf60492b654381ca8045bc9c1b85902bd91a1754a7d4eee47dec0dd7316da"
},
"downloads": -1,
"filename": "YTSage-3.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2daa8a2ffb1b43b3e5fc8cfec302c85b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 17633,
"upload_time": "2025-01-30T14:07:20",
"upload_time_iso_8601": "2025-01-30T14:07:20.102717Z",
"url": "https://files.pythonhosted.org/packages/15/53/b54bc95b3cdc3203fcd530e1b1f49b9318e0d3fb7c146b48511a0901b354/YTSage-3.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c5fb642150e52e34b4c3028dde1ad265356b4ef0498d8e9f7c641e946da5f861",
"md5": "9d0035a810c91b307175aed25e3d9571",
"sha256": "f327258084deb8f91a7a1180b800543c6f7e56563b9a6301dcd1fd7b080ec2bc"
},
"downloads": -1,
"filename": "ytsage-3.5.0.tar.gz",
"has_sig": false,
"md5_digest": "9d0035a810c91b307175aed25e3d9571",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 20321,
"upload_time": "2025-01-30T14:07:22",
"upload_time_iso_8601": "2025-01-30T14:07:22.577017Z",
"url": "https://files.pythonhosted.org/packages/c5/fb/642150e52e34b4c3028dde1ad265356b4ef0498d8e9f7c641e946da5f861/ytsage-3.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-30 14:07:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "oop7",
"github_project": "YTSage",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "PySide6",
"specs": []
},
{
"name": "yt-dlp",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "pillow",
"specs": []
},
{
"name": "packaging",
"specs": []
}
],
"lcname": "ytsage"
}