- Add exception if playlist URL uploaded.
- Add checkbox to download captions.
- Fix progressbar for None values.
- Override environment variables
- Add min size, max size and made the main widow resizable.
- Add key bindings to Entry widget for url entry.
- Add undo, redo features
- Trigger Search button when
Enter
key is pressed.
- Fix Download Options menu.
- Disable all inputs when video is downloading
- Add progressbar for downloads with unknown filesize. (indeterminate progressbar)
- Updated all the libraries and packages.
- Add icon for Mac & bypass errors caused when setting icon.
- Add support for Mac. (Not added)
- Create the logs folder if not exists.
- Get the log folder size limit from an environment variable.
- Use environment variables for app configurations.
- Added env.sample file which contains all the environment variables.
Created a new branch yt-dlp & shifted from pytube to yt-dlp to download video.
pytube➡️ yt-dlp
- Changed names:
- mime_type is changed as extension in download options
- published_date is changed as upload_date
- insted of streams, formats are used here.
- Changed helper functions.
- get_streams() method is removed and the available formats are returned with the available options in the helper functions.
- instead of getting resolutions & abr separately, get_download_qualities_and_formats() method is used to get download_qualities with available formats.
- get_formatted_upload_date() method is created to format the upload_date.
- Removed error message for Invalid URL id. It will be shown in general exception message.
- Progressbar is faster now 🔥
- Only download time is calculated not the time taken to extract video info.
- fetch_video_details() method is created to check if there is an error when fetching the video details.
- Removed
pytube
fromrequirements.txt
file
⚠️ NOTE: pytube version15.0.0
is not working. Use the latest pytube version.
- Added logging feature
- log messages will be added to a file inside the
logs
folder with date in the filename. - If the log folder size exceeds above 10MB, it will delete all the contents of the log file.
- log messages will be added to a file inside the
- Added proper error handling. If any error occurs the funcitons will show the error message and return
None
- filename will be validated before download
- If there is already a file with the same name in the download path, the filename will be changed.
- User won't be prompted to change directory or delete & overwrite the existing file.
- tag versioning fixed
- Add
__init__.py
file inside utils directory and import all the modules in it to make it a package. - Renamed variables, added more contants & arranged them properly
- Changed button hover color
- Fixed multiple progress bar appearing (when download button clicked multiple times) issue
- Increased the space between the Download frame and Progress frame.
- Disabled window resizing
- Refactor the entire code into object oriented.
- Added feature to choose the download type (video, audio, video only) with respective file types and quality (resolution/average bitrate)
- Along with the downloaded percentage, (downlaoded size / total file size) will be shown.
- Display thumbnail image.
- Video details like, video title, channel name, video duration, published date will be shown with the download options.
- File size will be displayed once the download options are selected.
- Added function to check if the file is already present in the given download folder path if it is then, prompt the user to continue/cancel or change the download path.
- Added type hinting
- Code refactoring
- Download the highest resolution
- Added progressbar
- changed the app layout
- Added download time to the success message
- Centered the app window
- Changed the icon
A simple GUI for downloading Youtube videos using Python.
- Downloads single youtube video.
- Show error message if no URL entered or and invalid URL is entered.
- Let the user choose the download location.
- Show success message with download path after the video is downloaded.