yt-dlp 2025.12.30.233018.dev0__py3-none-any.whl → 2025.12.31.233056.dev0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- yt_dlp/extractor/youtube/_video.py +40 -10
- yt_dlp/version.py +3 -3
- {yt_dlp-2025.12.30.233018.dev0.dist-info → yt_dlp-2025.12.31.233056.dev0.dist-info}/METADATA +1 -1
- {yt_dlp-2025.12.30.233018.dev0.dist-info → yt_dlp-2025.12.31.233056.dev0.dist-info}/RECORD +12 -12
- {yt_dlp-2025.12.30.233018.dev0.data → yt_dlp-2025.12.31.233056.dev0.data}/data/share/bash-completion/completions/yt-dlp +0 -0
- {yt_dlp-2025.12.30.233018.dev0.data → yt_dlp-2025.12.31.233056.dev0.data}/data/share/doc/yt_dlp/README.txt +0 -0
- {yt_dlp-2025.12.30.233018.dev0.data → yt_dlp-2025.12.31.233056.dev0.data}/data/share/fish/vendor_completions.d/yt-dlp.fish +0 -0
- {yt_dlp-2025.12.30.233018.dev0.data → yt_dlp-2025.12.31.233056.dev0.data}/data/share/man/man1/yt-dlp.1 +0 -0
- {yt_dlp-2025.12.30.233018.dev0.data → yt_dlp-2025.12.31.233056.dev0.data}/data/share/zsh/site-functions/_yt-dlp +0 -0
- {yt_dlp-2025.12.30.233018.dev0.dist-info → yt_dlp-2025.12.31.233056.dev0.dist-info}/WHEEL +0 -0
- {yt_dlp-2025.12.30.233018.dev0.dist-info → yt_dlp-2025.12.31.233056.dev0.dist-info}/entry_points.txt +0 -0
- {yt_dlp-2025.12.30.233018.dev0.dist-info → yt_dlp-2025.12.31.233056.dev0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1661,7 +1661,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
1661
1661
|
},
|
|
1662
1662
|
'params': {'skip_download': True},
|
|
1663
1663
|
}, {
|
|
1664
|
-
#
|
|
1664
|
+
# Comment subthreads with 4 levels of depth
|
|
1665
1665
|
'url': 'https://www.youtube.com/watch?v=f6HNySwZV4c',
|
|
1666
1666
|
'info_dict': {
|
|
1667
1667
|
'id': 'f6HNySwZV4c',
|
|
@@ -1675,6 +1675,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
1675
1675
|
'channel': 'cole-dlp-test-acc',
|
|
1676
1676
|
'channel_id': 'UCiu-3thuViMebBjw_5nWYrA',
|
|
1677
1677
|
'channel_url': 'https://www.youtube.com/channel/UCiu-3thuViMebBjw_5nWYrA',
|
|
1678
|
+
'channel_follower_count': int,
|
|
1678
1679
|
'view_count': int,
|
|
1679
1680
|
'like_count': int,
|
|
1680
1681
|
'age_limit': 0,
|
|
@@ -1689,12 +1690,41 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
1689
1690
|
'playable_in_embed': True,
|
|
1690
1691
|
'availability': 'public',
|
|
1691
1692
|
'live_status': 'not_live',
|
|
1692
|
-
'comment_count': 15,
|
|
1693
|
+
'comment_count': 15, # XXX: minimum
|
|
1693
1694
|
},
|
|
1694
1695
|
'params': {
|
|
1695
1696
|
'skip_download': True,
|
|
1696
1697
|
'getcomments': True,
|
|
1697
1698
|
},
|
|
1699
|
+
}, {
|
|
1700
|
+
# Comments: `subThreads` containing `commentThreadRenderer`s AND `continuationItemRenderer`
|
|
1701
|
+
'url': 'https://www.youtube.com/watch?v=3dHQb2Nhma0',
|
|
1702
|
+
'info_dict': {
|
|
1703
|
+
'id': '3dHQb2Nhma0',
|
|
1704
|
+
'ext': 'mp4',
|
|
1705
|
+
'title': 'Tɪtle',
|
|
1706
|
+
'description': '',
|
|
1707
|
+
'media_type': 'video',
|
|
1708
|
+
'uploader': 'abcdefg',
|
|
1709
|
+
'uploader_id': '@abcdefg-d5t2c',
|
|
1710
|
+
'uploader_url': 'https://www.youtube.com/@abcdefg-d5t2c',
|
|
1711
|
+
'channel': 'abcdefg',
|
|
1712
|
+
'channel_id': 'UCayEJzV8XSSJkPdA7OAsbew',
|
|
1713
|
+
'channel_url': 'https://www.youtube.com/channel/UCayEJzV8XSSJkPdA7OAsbew',
|
|
1714
|
+
'view_count': int,
|
|
1715
|
+
'like_count': int,
|
|
1716
|
+
'age_limit': 0,
|
|
1717
|
+
'duration': 12,
|
|
1718
|
+
'thumbnail': 'https://i.ytimg.com/vi/3dHQb2Nhma0/maxresdefault.jpg',
|
|
1719
|
+
'categories': ['People & Blogs'],
|
|
1720
|
+
'tags': [],
|
|
1721
|
+
'timestamp': 1767158812,
|
|
1722
|
+
'upload_date': '20251231',
|
|
1723
|
+
'playable_in_embed': True,
|
|
1724
|
+
'availability': 'unlisted',
|
|
1725
|
+
'live_status': 'not_live',
|
|
1726
|
+
'comment_count': 9, # XXX: minimum
|
|
1727
|
+
},
|
|
1698
1728
|
}]
|
|
1699
1729
|
_WEBPAGE_TESTS = [{
|
|
1700
1730
|
# <object>
|
|
@@ -2532,19 +2562,19 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
2532
2562
|
comment_thread_renderer, lambda x: x['replies']['commentRepliesRenderer'], dict)
|
|
2533
2563
|
|
|
2534
2564
|
if comment_replies_renderer:
|
|
2535
|
-
subthreads = traverse_obj(comment_replies_renderer, (
|
|
2536
|
-
'subThreads', lambda _, v: v['commentThreadRenderer']))
|
|
2565
|
+
subthreads = traverse_obj(comment_replies_renderer, ('subThreads', ..., {dict}))
|
|
2537
2566
|
# Recursively extract from `commentThreadRenderer`s in `subThreads`
|
|
2538
|
-
if subthreads:
|
|
2539
|
-
for entry in extract_thread(
|
|
2567
|
+
if threads := traverse_obj(subthreads, lambda _, v: v['commentThreadRenderer']):
|
|
2568
|
+
for entry in extract_thread(threads, entity_payloads, comment_id, thread_depth + 1):
|
|
2540
2569
|
if entry:
|
|
2541
2570
|
yield entry
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2571
|
+
if not traverse_obj(subthreads, lambda _, v: v['continuationItemRenderer']):
|
|
2572
|
+
# All of the subThreads' `continuationItemRenderer`s were within the nested
|
|
2573
|
+
# `commentThreadRenderer`s and are now exhausted, so avoid unnecessary recursion below
|
|
2574
|
+
continue
|
|
2545
2575
|
|
|
2546
2576
|
tracker['current_page_thread'] += 1
|
|
2547
|
-
# Recursively extract from `continuationItemRenderer`
|
|
2577
|
+
# Recursively extract from `continuationItemRenderer` in `subThreads`
|
|
2548
2578
|
comment_entries_iter = self._comment_entries(
|
|
2549
2579
|
comment_replies_renderer, ytcfg, video_id,
|
|
2550
2580
|
parent=comment_id, tracker=tracker, depth=thread_depth + 1)
|
yt_dlp/version.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Autogenerated by devscripts/update-version.py
|
|
2
2
|
|
|
3
|
-
__version__ = '2025.12.
|
|
3
|
+
__version__ = '2025.12.31.233056'
|
|
4
4
|
|
|
5
|
-
RELEASE_GIT_HEAD = '
|
|
5
|
+
RELEASE_GIT_HEAD = '76c31a7a216a3894884381c7775f838b811fde06'
|
|
6
6
|
|
|
7
7
|
VARIANT = 'pip'
|
|
8
8
|
|
|
@@ -12,4 +12,4 @@ CHANNEL = 'nightly'
|
|
|
12
12
|
|
|
13
13
|
ORIGIN = 'yt-dlp/yt-dlp-nightly-builds'
|
|
14
14
|
|
|
15
|
-
_pkg_version = '2025.12.
|
|
15
|
+
_pkg_version = '2025.12.31.233056dev'
|
{yt_dlp-2025.12.30.233018.dev0.dist-info → yt_dlp-2025.12.31.233056.dev0.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: yt-dlp
|
|
3
|
-
Version: 2025.12.
|
|
3
|
+
Version: 2025.12.31.233056.dev0
|
|
4
4
|
Summary: A feature-rich command-line audio/video downloader
|
|
5
5
|
Project-URL: Documentation, https://github.com/yt-dlp/yt-dlp#readme
|
|
6
6
|
Project-URL: Repository, https://github.com/yt-dlp/yt-dlp
|
|
@@ -11,7 +11,7 @@ yt_dlp/options.py,sha256=72Qipr6jhFUO4gUPTIJsqYeHujnZi1L1GYx1Vn5qtiM,100390
|
|
|
11
11
|
yt_dlp/plugins.py,sha256=EGmR0ydaahNspGrgszTNX4-YjHe93WOOhcw1gf6PZSs,8215
|
|
12
12
|
yt_dlp/socks.py,sha256=oAuAfWM6jxI8A5hHDLEKq2U2-k9NyMB_z6nrKzNE9fg,8936
|
|
13
13
|
yt_dlp/update.py,sha256=sY7gNFBQorzs7sEjRrqL5QOsTBNmGGa_FnpTtbxY1vA,25280
|
|
14
|
-
yt_dlp/version.py,sha256=
|
|
14
|
+
yt_dlp/version.py,sha256=T_SfrGUV3Qyl7cBJcYbl25C1iFvzYV_837bWwtDcALc,360
|
|
15
15
|
yt_dlp/webvtt.py,sha256=ONkXaaNCZcX8pQhJn3iwIKyaQ34BtVDrMEdG6wRNZwM,11451
|
|
16
16
|
yt_dlp/__pyinstaller/__init__.py,sha256=-c4Zo8nQGKAm8wc_LDscxMtK7zr_YhZwRnC9CMruUBE,72
|
|
17
17
|
yt_dlp/__pyinstaller/hook-yt_dlp.py,sha256=5Rd0zV2pDskjY1KtT0wsjxv4hStx67sLCjUexsFvFus,1339
|
|
@@ -1065,7 +1065,7 @@ yt_dlp/extractor/youtube/_notifications.py,sha256=1nhavzW0e2QWFAWHkfbTU4sSXNp4vU
|
|
|
1065
1065
|
yt_dlp/extractor/youtube/_redirect.py,sha256=WWWnGEkfSGBXpZFi_bWY4XcHZ8PDeK7UsndDaTYYhQg,9005
|
|
1066
1066
|
yt_dlp/extractor/youtube/_search.py,sha256=E9raTPGjUD6mm81WBpT4AsaxyiTBHdNssgzeHwVeNOE,6552
|
|
1067
1067
|
yt_dlp/extractor/youtube/_tab.py,sha256=MiQGWZdHENOz8Ac-OAuAgqMWJ6gC-PZKJWPDG80QY6E,115490
|
|
1068
|
-
yt_dlp/extractor/youtube/_video.py,sha256=
|
|
1068
|
+
yt_dlp/extractor/youtube/_video.py,sha256=afy1fe-DFq6xkFHrZKDUzYPyCM50oboMDwTzWOR7Njs,213632
|
|
1069
1069
|
yt_dlp/extractor/youtube/jsc/__init__.py,sha256=HaVFP8ikrLaE-ClAh39-S28WCF4S2KTRaSu7QvA28E8,289
|
|
1070
1070
|
yt_dlp/extractor/youtube/jsc/_director.py,sha256=92pB-KVSs6plmE5R8gpjkZL9aeoWNR0XTnGOBXMy9go,13167
|
|
1071
1071
|
yt_dlp/extractor/youtube/jsc/_registry.py,sha256=Vg9GkHKHKKPeRfUQ-XSw01mfx_2Xyodh0SJpwjawYCA,102
|
|
@@ -1121,13 +1121,13 @@ yt_dlp/utils/progress.py,sha256=t9kVvJ0oWuEqRzo9fdFbIhHUBtO_8mg348QwZ1faqLo,3261
|
|
|
1121
1121
|
yt_dlp/utils/traversal.py,sha256=64E3RcZ56iSX50RI_HbKdDNftkETMLBaEPX791_b7yQ,18265
|
|
1122
1122
|
yt_dlp/utils/jslib/__init__.py,sha256=CbdJiRA7Eh5PnjF2V4lDTcg0J0XjBMaaq0H4pCfq9Tk,87
|
|
1123
1123
|
yt_dlp/utils/jslib/devalue.py,sha256=7DCGK_zUN0ZeV5hwPT06zaRMUxX_hyUyFWqs79rxw24,5621
|
|
1124
|
-
yt_dlp-2025.12.
|
|
1125
|
-
yt_dlp-2025.12.
|
|
1126
|
-
yt_dlp-2025.12.
|
|
1127
|
-
yt_dlp-2025.12.
|
|
1128
|
-
yt_dlp-2025.12.
|
|
1129
|
-
yt_dlp-2025.12.
|
|
1130
|
-
yt_dlp-2025.12.
|
|
1131
|
-
yt_dlp-2025.12.
|
|
1132
|
-
yt_dlp-2025.12.
|
|
1133
|
-
yt_dlp-2025.12.
|
|
1124
|
+
yt_dlp-2025.12.31.233056.dev0.data/data/share/bash-completion/completions/yt-dlp,sha256=b0pb9GLseKD27CjnLE6LlhVxhfmQjmyqV6r_CRbd6ko,5989
|
|
1125
|
+
yt_dlp-2025.12.31.233056.dev0.data/data/share/doc/yt_dlp/README.txt,sha256=cPx4ZehhabGCBTYTosfKHInDIeDasDSR2Xtxtl-xo58,165135
|
|
1126
|
+
yt_dlp-2025.12.31.233056.dev0.data/data/share/fish/vendor_completions.d/yt-dlp.fish,sha256=v2WQvWvk4qKpp2-97z2ULb5Msj5dgzU6nMkS-FwSmbM,51488
|
|
1127
|
+
yt_dlp-2025.12.31.233056.dev0.data/data/share/man/man1/yt-dlp.1,sha256=yyBAVJTtg0xPpkUsET4pkWywEepOaZ5Pap5UnleI85M,159690
|
|
1128
|
+
yt_dlp-2025.12.31.233056.dev0.data/data/share/zsh/site-functions/_yt-dlp,sha256=pNhu8tT4ZKrksLRI2mXLqarzGGhnOlm_hkCBVhSxLzg,5985
|
|
1129
|
+
yt_dlp-2025.12.31.233056.dev0.dist-info/METADATA,sha256=G1ttyUJFaGDWquZUcSwQSP37E88jFurO0lKvc6XHTXI,180513
|
|
1130
|
+
yt_dlp-2025.12.31.233056.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
1131
|
+
yt_dlp-2025.12.31.233056.dev0.dist-info/entry_points.txt,sha256=vWfetvzYgZIwDfMW6BjCe0Cy4pmTZEXRNzxAkfYlRJA,103
|
|
1132
|
+
yt_dlp-2025.12.31.233056.dev0.dist-info/licenses/LICENSE,sha256=fhLl30uuEsshWBuhV87SDhmGoFCN0Q0Oikq5pM-U6Fw,1211
|
|
1133
|
+
yt_dlp-2025.12.31.233056.dev0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{yt_dlp-2025.12.30.233018.dev0.dist-info → yt_dlp-2025.12.31.233056.dev0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{yt_dlp-2025.12.30.233018.dev0.dist-info → yt_dlp-2025.12.31.233056.dev0.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|