YTSage 4.8.3
Install via PyPI:
pip install ytsage
Upgrade to the latest version:
pip install --upgrade ytsage
Downloads
Platform | File | Notes |
---|---|---|
YTSage-v4.8.3-Setup.exe | Standard installer | |
YTSage-v4.8.3-ffmpeg-Setup.exe | With FFmpeg bundled | |
YTSage-v4.8.3-portable.zip | Portable version, no installation required | |
YTSage-v4.8.3-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
YTSage-v4.8.3-amd64.deb | Debian package | |
YTSage-v4.8.3-x86_64.AppImage | AppImage, portable | |
YTSage-v4.8.3-x86_64.rpm | RPM package | |
YTSage-v4.8.3-arm64.app.zip | Zipped application for ARM64 | |
YTSage-v4.8.3-arm64.dmg | Disk image installer for ARM64 | |
YTSage-v4.8.3-x64.app.zip | Zipped application for x64 | |
YTSage-v4.8.3-x64.dmg | Disk image installer for x64 |
🚀 New Features
- Cookies Browser: Introduced a new feature to retrieve cookies using yt-dlp #31 (@Lucy-dot-dot)
- Refactored Custom Commands: Enhanced custom commands with an updated design, improvements, and bug fixes
- Trim Video Dialog: Removed the preview command from the trim video dialog for a streamlined interface
- Enhanced Error Handling: Improved error messages with detailed guidance for common issues:
- Private videos: Directs users to cookie authentication
- Age-restricted content: Explains the login requirement
- Geo-blocked videos: Suggests using a VPN
- Removed/deleted videos: Clarifies video unavailability
- Live streams: Explains timing limitations
- Network errors: Recommends checking connectivity
- Invalid URLs: Guides on URL format correction
- Premium content: Explains membership requirements
- Copyright blocks: Describes content restrictions
- Migration to Pyglet: Replaced
pygame
withpyglet
for reduced size, aspygame
was overly heavy for simple notifications - Migration to cx_Freeze: Switched from PyInstaller to cx_Freeze for improved load times
- CI/CD Pipeline: Implemented an automated pipeline workflow for building pre-executables
- Screenshots in Repository: Added screenshots to the repository for faster loading in the README
- Code Refactor and Cleanup #37 (@viru185):
- Import Fixes: Eliminated unused imports, adopted full import paths, and sorted imports alphabetically (Standard Library > Third-Party > Local)
- Removed Unsafe Method: Deleted Method 3 from
src.core.ytsage_downloader:cleanup_subtitle_file
to prevent accidental deletion of unrelated subtitle files due to recursive scanning - Path Handling Refactor: Migrated from
os.path
topathlib.Path
for better readability, reduced code repetition, and enhanced cross-platform compatibility - Code Readability Enhancements: Standardized string literals to double quotes, removed extraneous spaces, and enforced consistent formatting
- Constants File: Created
ytsage_constants.py
as a centralized location for all constants - Type Hints: Added return type hints to functions for improved type checking and code clarity
- GUI Module Restructuring: Renamed
src/gui/dialogs
tosrc/gui/ytsage_gui_dialogs
for naming consistency, and added__init__.py
for centralized dialog imports - Variable Renaming: Changed
self.parent
toself._parent
to avoid conflicts with the built-inparent()
method and added type checking - Signal Handling Update: Replaced
QMetaObject.invokeMethod
withSignal
due to unresolved issues, aligning with the app's design patterns - Constants Integration: Replaced redundant logic with references to
ytsage_constants.py
- yt-dlp Update Logic: Updated
src/gui/ytsage_gui_dialogs/ytsage_dialogs_update:_update_binary
to useyt-dlp -U
for streamlined updates
🔧 Improvements
- Build Automation: Streamlined the build process with automated CI/CD pipelines for pre-executables
- Windows Installer: Added new setup installer (Inno Setup) for easier installation.
- RPM Package: Introduced an RPM package for easier installation on RPM-based Linux distributions
📖 Documentation
- Repository Screenshots: Added screenshots to the repository to enhance the README with faster-loading visual aids
- wordmark svg: added wordmark svg to the repository for better branding
- OSs badges: added OSs badges to the repository for better visibility