{"id":15141793,"url":"https://github.com/C0deInBlack/yt2music","last_synced_at":"2025-08-21T14:32:45.365Z","repository":{"id":249777571,"uuid":"832523249","full_name":"C0deInBlack/yt-dlp-at","owner":"C0deInBlack","description":"Download music from YouTube, add metadata and cover image. ","archived":false,"fork":false,"pushed_at":"2024-11-16T23:43:28.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-20T00:41:48.203Z","etag":null,"topics":["docker","docker-image","docker-images","downloader","music","youtube","yt-dlp","yt-downloader"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/C0deInBlack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-23T07:40:03.000Z","updated_at":"2024-11-16T23:43:31.000Z","dependencies_parsed_at":"2024-08-14T05:45:01.906Z","dependency_job_id":"7f71a863-a260-48e2-b389-04a18645af59","html_url":"https://github.com/C0deInBlack/yt-dlp-at","commit_stats":null,"previous_names":["c0deinblack/yt-dlp-at"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/C0deInBlack%2Fyt-dlp-at","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/C0deInBlack%2Fyt-dlp-at/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/C0deInBlack%2Fyt-dlp-at/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/C0deInBlack%2Fyt-dlp-at/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/C0deInBlack","download_url":"https://codeload.github.com/C0deInBlack/yt-dlp-at/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230520359,"owners_count":18238946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-image","docker-images","downloader","music","youtube","yt-dlp","yt-downloader"],"created_at":"2024-09-26T09:02:04.097Z","updated_at":"2025-08-21T14:32:45.357Z","avatar_url":"https://github.com/C0deInBlack.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# yt2music\nDownload entire artist's music from YouTube: playlists, full albums, or song sections, with automatic metadata and cover image tagging. \n\n## News\nPure Python implementation, no docker container needed anymore!\n\n![img](https://github.com/C0deInBlack/yt2music/blob/main/images/1.cleaned.png)\n\n## Installation\n\n```bash\ngit clone https://github.com/C0deInBlack/yt2music.git\nchmod +x yt2music.py\n```\nInstall libraries\n\n```bash\npip install -r requirements.txt\n```\nAlso need to have ImageMagick installed.\n\n## Usage\n\n```\n ./yt2music.py\n__   ___   ____                      _\n\\ \\ / / |_|___ \\ _ __ ___  _   _ ___(_) ___\n \\ V /| __| __) | '_ ` _ \\| | | / __| |/ __|\n  | | | |_ / __/| | | | | | |_| \\__ \\ | (__\n  |_|  \\__|_____|_| |_| |_|\\__,_|___/_|\\___|\n\n\nusage: yt2music.py [-h] [-p PATH] [-m METADATA] [-f FILE] [-u URL] [-s SECTIONS] [-sf SECTIONS_FILE] [-st SECTIONS_TITLE]\n\nScript for download YT music\n\noptions:\n  -h, --help            show this help message and exit\n  -p, --path PATH       Path to save the music [Text Input]\n  -m, --metadata METADATA\n                        Metadata (Artist name) [Text Input]\n  -f, --file FILE       Custom urls to read [File]\n  -u, --url URL         Url to download music from [Text Input]\n  -s, --sections SECTIONS\n                        Download sections [True / False] (Default is False)\n  -sf, --sections_file SECTIONS_FILE\n                        Sections to download [File]\n  -st, --sections_title SECTIONS_TITLE\n                        Use the sections title [True / False] (Default is False)\n\nExamples:\nDownload from a URL:\n./yt2music.py -p /path/artist -m 'Artist name' -u 'https://www.youtube.com/example'\n\nRead from a file:\n./yt2music.py -p /path/artist -m 'Artist name' -f /path/to/list.txt\n\nDownload sections and use custom names for the songs:\n./yt2music.py -p /path/artist -m 'Artist name' -s true -sf /path/file.txt -sn /path/names.txt -u 'http://www.youtube.com/example'\n\nDownload sections and use default titles from the videos:\n./yt2music.py -p /path/artist -m 'Artist name' -s true -sf /path/sections_file.txt -st true -u 'http://www.youtube.com/example'\n```\n\n**NOTE:** Don't write the metadata argument all in upper case, otherwise the program will fail. Why? I don't know. Things with python argparse.\n\n### Download from URL\n\n```bash\n./yt2music.py -p /path/artist -m 'Artist name' -u 'https://www.youtube.com/example'\n```\n\nI recommend download from a url only if the link you are downloading have 'releases' in the url `https://www.youtube.com/@artist/releases` otherwise it will mess up and download all the songs in one directory instead of separated albums.\n\n### Download from file\n\n```bash\n./yt2music.py -p /path/artist -m 'Artist name' -f /path/to/list.txt\n```\n\nThe best option is to download from a list, you have to save the links of the albums playlists in a plain text file. The file to read only have to be one link per line:\n\n```\nhttps://www.youtube.com/playlist?list=OLAK5uy_mI7UDM5J5hMzEuJU3YtHAwNRYuXZ1C5eE\nhttps://www.youtube.com/playlist?list=OLAK5uy_lG_TgjUku8iY7Fez8h8-OVbtjfajrXFjQ\nhttps://www.youtube.com/playlist?list=OLAK5uy_mb6E4B-zH404-oNnTX7M7G3REvN-ZM1rE\nhttps://www.youtube.com/playlist?list=OLAK5uy_k8K0UZjoN_EizF0w9WgNDSgjC6TokIWtU\n```\n\nIn both options (with url or file) if the name of one of your directories or artist has spaces, you should write `directory\\ name` or `artist\\ name` or you can write it between `\"Artist name\"` or `'Artist name'`:\n\n### Download sections\n\nFor download separated sections from a single video, you have two options:\n\n#### First Option (Sections)\n\nA sections file with the start time and the name of each song in the next format:\n\n```bash\n00:00 Song_title 1\n00:20 Song_title 2\n04:11 Song_title 3\n10:16 Song_title 4\n15:06 Song_title 5\n18:47 Song_title 6\n```\n\nThis will download the specified sections and add the custom title you provided.\n\n```bash\n./yt2music.py -p /path/artist -m 'Artist name' -s true -sf /path/file.txt -u 'http://www.youtube.com/example'\n```\n#### Second Option (Sections)\n\nOr use the default sections title for the video (which not always work), and add it to the sections file, usually the sections names are in the description of the YouTube video\n\n```bash\nDefault_section_name 1\nDefault_section_name 2\nDefault_section_name 3\nDefault_section_name 4\nDefault_section_name 5\nDefault_section_name 6\n```\n\nThis will download the sections and add the default name from the YouTube video\n\n```bash\n./yt2music.py -p /path/artist -m 'Artist name' -s true -sf /path/sections_file.txt -st true -u 'http://ww.youtube.com/example'\n```\n\n## Extra\nFor a more specific example of use visit [example](https://medium.com/@c0deinblack/yt2music-download-entire-artist-discographies-from-youtube-6210ff169897)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FC0deInBlack%2Fyt2music","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FC0deInBlack%2Fyt2music","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FC0deInBlack%2Fyt2music/lists"}