Latom, is an asynchronous song downloader that accepts Youtube and spotify links. The app currently supports downloading :
- Singles
- Playlists
- Albums
- Youtube Channels (entirely)
- Artist's entire Portfolio.
This seemed like the perfect pet project to make and consequently learn from :)
- Installs Tracks Asynchronously ( can choose how many at a time in
latom/.index.txt
) - checks for existing songs in the
~/Music
directory - can select which songs to download from a playlist/channel.
- can remove unwanted songs from a playlist
- can perform youtube search ( simply enter the query instead of the url )
The following audio format is supported:
- m4a
All Youtube link types are supported (channels, shorts...)
All Spotify link types are supported aswell (Artists, Albums, plalists ...)
pip install -r ./latom/requirements.txt
python ./latom/main.py
The dislike button on youtube has been made private, so some modification on backend_youtube_dl.py is required to run pafy.
- Navigate to :
- C:\Users\harsh\AppData\Local\Programs\Python\Python3.8\lib\site- packages\pafy
- /home/user/.local/lib/python3.8/site-packages/pafy
-
Open backend_youtube_dl.py file
-
Comment or remove this code (line 54): self._dislikes = self._ydl_info['dislike_count']