When a music.youtube.com/channel/... URL is subscribed, use ytmusicapi to enumerate the artist's album and single releases instead of yt-dlp flat-extract, which only returns individual topic video uploads. Each release is tracked as an OLAK5uy_ playlist ID in seen_ids, so new albums and singles are detected and queued automatically on each check. - Add extract_ytmusic_artist_releases() using ytmusicapi.get_artist() and get_artist_albums() for full pagination - Route YTMusic URLs in add_subscription() and _check_one_unlocked() - Add ytmusicapi dependency - Add 31 tests covering URL detection, extraction, and manager integration
28 lines
555 B
TOML
28 lines
555 B
TOML
[project]
|
|
name = "metube"
|
|
version = "0.1.0"
|
|
description = "Web GUI for youtube-dl (using yt-dlp) with playlist support"
|
|
requires-python = ">=3.13"
|
|
dependencies = [
|
|
"aiohttp",
|
|
"python-socketio>=5.0,<6.0",
|
|
"yt-dlp[default,curl-cffi,deno]",
|
|
"mutagen",
|
|
"curl-cffi",
|
|
"watchfiles",
|
|
"ytmusicapi",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pylint",
|
|
"pytest>=8.0",
|
|
"pytest-aiohttp>=1.0",
|
|
"pytest-asyncio>=0.24",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
testpaths = ["app/tests"]
|
|
pythonpath = [".", "app"]
|
|
addopts = "-v"
|