WARNING: DOWNLOADING COPYRIGHTED MATERIAL IS HIGHLY ILLEGAL! I DO NOT TAKE ANY RESPONSIBILITY FOR YOUR USAGE OF THIS TOOL!
A tutorial on how to the application works can be found here.
Make sure you have Python 3.8 or higher installed. Note that pypy
is not officially supported, however it can work with pypy
on Windows.
The used libraries are:
# standard library
import concurrent.futures
import pathlib
import re
import typing
import webbrowser
# third party
import PySimpleGUI
import pytube
# for testing
import pytest
Simply download the executable here and run it. This is the quickest way to get started.
Alternatively, you can directly run the script by following these steps:
- Clone the repository:
git clone https://github.com/realshouzy/YTDownloader.git && cd YTDownloader
- Install the required dependencies:
pip install -r requirements.txt
- Run the script:
python -m YTDownloader
Running the script this way ensures you have access to the latest features and updates.
Unfortunately, there is no pre-built executable for Unix systems, so you'll need to do the whole procedure:
- Clone the repository:
git clone https://github.com/realshouzy/YTDownloader.git && cd YTDownloader
- Install the required dependencies:
pip install -r requirements.txt
- Run the script:
python3 -m YTDownloader
While this project currently lacks tests, I acknowledge the importance of testing for ensuring code quality and reliability is. Initially, due to my limited knowledge when starting the project, I didn't prioritize writing tests. As the project evolved, I didn't care to invest time in writing tests, as I originally intended it to be a smaller-scale project. Recognizing the significance of testing in continuous integration, I have taken the initiative to write tests.
If you are interested in contributing to this project, please refer here for more information .
YTDownloader
is available under the MIT license
This concept is not my idea. I was inspired by Clear Code from this idea. I took the liberty to add some features and extend the code base, such as downloading playlists, selecting a download directory and other adjustments and improvements.