yt-dlp 2025.12.12.233036.dev0__py3-none-any.whl → 2025.12.15.233113.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.
@@ -8930,7 +8930,7 @@ class PartiBaseIE(LazyLoadExtractor):
8930
8930
  class PartiLivestreamIE(PartiBaseIE):
8931
8931
  _module = 'yt_dlp.extractor.parti'
8932
8932
  IE_NAME = 'parti:livestream'
8933
- _VALID_URL = 'https?://(?:www\\.)?parti\\.com/creator/(?P<service>[\\w]+)/(?P<id>[\\w/-]+)'
8933
+ _VALID_URL = 'https?://(?:www\\.)?parti\\.com/(?!video/)(?P<id>[\\w/-]+)'
8934
8934
  _RETURN_TYPE = 'video'
8935
8935
 
8936
8936
 
yt_dlp/extractor/parti.py CHANGED
@@ -6,7 +6,10 @@ from ..utils.traversal import traverse_obj
6
6
  class PartiBaseIE(InfoExtractor):
7
7
  def _call_api(self, path, video_id, note=None):
8
8
  return self._download_json(
9
- f'https://api-backend.parti.com/parti_v2/profile/{path}', video_id, note)
9
+ f'https://prod-api.parti.com/parti_v2/profile/{path}', video_id, note, headers={
10
+ 'Origin': 'https://parti.com',
11
+ 'Referer': 'https://parti.com/',
12
+ })
10
13
 
11
14
 
12
15
  class PartiVideoIE(PartiBaseIE):
@@ -20,7 +23,7 @@ class PartiVideoIE(PartiBaseIE):
20
23
  'title': 'NOW LIVE ',
21
24
  'upload_date': '20250327',
22
25
  'categories': ['Gaming'],
23
- 'thumbnail': 'https://assets.parti.com/351424_eb9e5250-2821-484a-9c5f-ca99aa666c87.png',
26
+ 'thumbnail': 'https://media.parti.com/351424_eb9e5250-2821-484a-9c5f-ca99aa666c87.png',
24
27
  'channel': 'ItZTMGG',
25
28
  'timestamp': 1743044379,
26
29
  },
@@ -34,7 +37,7 @@ class PartiVideoIE(PartiBaseIE):
34
37
  return {
35
38
  'id': video_id,
36
39
  'formats': self._extract_m3u8_formats(
37
- urljoin('https://watch.parti.com', data['livestream_recording']), video_id, 'mp4'),
40
+ urljoin('https://media.parti.com/', data['livestream_recording']), video_id, 'mp4'),
38
41
  **traverse_obj(data, {
39
42
  'title': ('event_title', {str}),
40
43
  'channel': ('user_name', {str}),
@@ -47,32 +50,27 @@ class PartiVideoIE(PartiBaseIE):
47
50
 
48
51
  class PartiLivestreamIE(PartiBaseIE):
49
52
  IE_NAME = 'parti:livestream'
50
- _VALID_URL = r'https?://(?:www\.)?parti\.com/creator/(?P<service>[\w]+)/(?P<id>[\w/-]+)'
53
+ _VALID_URL = r'https?://(?:www\.)?parti\.com/(?!video/)(?P<id>[\w/-]+)'
51
54
  _TESTS = [{
52
- 'url': 'https://parti.com/creator/parti/Capt_Robs_Adventures',
55
+ 'url': 'https://parti.com/247CryptoTracker',
53
56
  'info_dict': {
54
- 'id': 'Capt_Robs_Adventures',
55
57
  'ext': 'mp4',
58
+ 'id': '247CryptoTracker',
59
+ 'description': 'md5:a78051f3d7e66e6a64c6b1eaf59fd364',
56
60
  'title': r"re:I'm Live on Parti \d{4}-\d{2}-\d{2} \d{2}:\d{2}",
57
- 'view_count': int,
58
- 'thumbnail': r're:https://assets\.parti\.com/.+\.png',
59
- 'timestamp': 1743879776,
60
- 'upload_date': '20250405',
61
+ 'thumbnail': r're:https://media\.parti\.com/stream-screenshots/.+\.png',
61
62
  'live_status': 'is_live',
62
63
  },
63
64
  'params': {'skip_download': 'm3u8'},
64
- }, {
65
- 'url': 'https://parti.com/creator/discord/sazboxgaming/0',
66
- 'only_matching': True,
67
65
  }]
68
66
 
69
67
  def _real_extract(self, url):
70
- service, creator_slug = self._match_valid_url(url).group('service', 'id')
68
+ creator_slug = self._match_id(url)
71
69
 
72
70
  encoded_creator_slug = creator_slug.replace('/', '%23')
73
71
  creator_id = self._call_api(
74
- f'get_user_by_social_media/{service}/{encoded_creator_slug}',
75
- creator_slug, note='Fetching user ID')
72
+ f'user_id_from_name/{encoded_creator_slug}',
73
+ creator_slug, note='Fetching user ID')['user_id']
76
74
 
77
75
  data = self._call_api(
78
76
  f'get_livestream_channel_info/{creator_id}', creator_id,
@@ -85,11 +83,7 @@ class PartiLivestreamIE(PartiBaseIE):
85
83
 
86
84
  return {
87
85
  'id': creator_slug,
88
- 'formats': self._extract_m3u8_formats(
89
- channel_info['playback_url'], creator_slug, live=True, query={
90
- 'token': channel_info['playback_auth_token'],
91
- 'player_version': '1.17.0',
92
- }),
86
+ 'formats': self._extract_m3u8_formats(channel_info['playback_url'], creator_slug, live=True),
93
87
  'is_live': True,
94
88
  **traverse_obj(data, {
95
89
  'title': ('livestream_event_info', 'event_name', {str}),
@@ -382,7 +382,8 @@ class YoutubeTabBaseInfoExtractor(YoutubeBaseInfoExtractor):
382
382
  ('accessibilityText', {lambda x: re.fullmatch(r'(.+), (?:[\d,.]+(?:[KM]| million)?|No) views? - play Short', x)}, 1)), any),
383
383
  'view_count': ('overlayMetadata', 'secondaryText', 'content', {parse_count}),
384
384
  }),
385
- thumbnails=self._extract_thumbnails(renderer, 'thumbnail', final_key='sources'))
385
+ thumbnails=self._extract_thumbnails(
386
+ renderer, ('thumbnailViewModel', 'thumbnailViewModel', 'image'), final_key='sources'))
386
387
  return
387
388
 
388
389
  def _video_entry(self, video_renderer):
@@ -1585,7 +1586,6 @@ class YoutubeTabIE(YoutubeTabBaseInfoExtractor):
1585
1586
  'playlist_count': 50,
1586
1587
  'expected_warnings': ['YouTube Music is not directly supported'],
1587
1588
  }, {
1588
- # TODO: fix test suite, 208163447408c78673b08c172beafe5c310fb167 broke this test
1589
1589
  'note': 'unlisted single video playlist',
1590
1590
  'url': 'https://www.youtube.com/playlist?list=PLt5yu3-wZAlQLfIN0MMgp0wVV6MP3bM4_',
1591
1591
  'info_dict': {
@@ -1885,8 +1885,6 @@ class YoutubeTabIE(YoutubeTabBaseInfoExtractor):
1885
1885
  'playlist_mincount': 30,
1886
1886
  }, {
1887
1887
  # Shorts url result in shorts tab
1888
- # TODO: Fix channel id extraction
1889
- # TODO: fix test suite, 208163447408c78673b08c172beafe5c310fb167 broke this test
1890
1888
  'url': 'https://www.youtube.com/channel/UCiu-3thuViMebBjw_5nWYrA/shorts',
1891
1889
  'info_dict': {
1892
1890
  'id': 'UCiu-3thuViMebBjw_5nWYrA',
@@ -1915,7 +1913,6 @@ class YoutubeTabIE(YoutubeTabBaseInfoExtractor):
1915
1913
  'params': {'extract_flat': True},
1916
1914
  }, {
1917
1915
  # Live video status should be extracted
1918
- # TODO: fix test suite, 208163447408c78673b08c172beafe5c310fb167 broke this test
1919
1916
  'url': 'https://www.youtube.com/channel/UCQvWX73GQygcwXOTSf_VDVg/live',
1920
1917
  'info_dict': {
1921
1918
  'id': 'UCQvWX73GQygcwXOTSf_VDVg',
yt_dlp/version.py CHANGED
@@ -1,8 +1,8 @@
1
1
  # Autogenerated by devscripts/update-version.py
2
2
 
3
- __version__ = '2025.12.12.233036'
3
+ __version__ = '2025.12.15.233113'
4
4
 
5
- RELEASE_GIT_HEAD = 'b6f24745bfb89ec0eaaa181a68203c2e81e58802'
5
+ RELEASE_GIT_HEAD = 'ff61bef041d1f69fec1044f783fb938c005128af'
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.12.233036dev'
15
+ _pkg_version = '2025.12.15.233113dev'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yt-dlp
3
- Version: 2025.12.12.233036.dev0
3
+ Version: 2025.12.15.233113.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=cEALlBE-OokSe0xGY5pHsLozTJpw-yR9pSVBCNp2SqI,100388
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=YpXXmdnDZPr_-nFkSKPLv-mE36TxCX2fWPQseoi37eg,360
14
+ yt_dlp/version.py,sha256=j3Ez-qwOSuqnc7p8F7qNI9X-9nrVv7QVrphH-OmXfQ0,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
@@ -459,7 +459,7 @@ yt_dlp/extractor/la7.py,sha256=GShDLu1N0rS1bY4uIiUkznThvn7gNiwtSgmh7Rs7t08,9435
459
459
  yt_dlp/extractor/laracasts.py,sha256=PzTqAbHXiUqog-mpp2qR_rpKa-sZel4mLyzWTPkbDuc,4587
460
460
  yt_dlp/extractor/lastfm.py,sha256=OpmE-Y-2rcav2r2xaDQzX_EJiltmbbe6fO9VzkLqNWQ,4748
461
461
  yt_dlp/extractor/laxarxames.py,sha256=-YyL-5y4t2L9ptTSLXhvK-SJwvXGqv5l1HfT129zF0c,2773
462
- yt_dlp/extractor/lazy_extractors.py,sha256=g_V2ij2P9Q8gf0AleRViHAqaH-BJu60fH5Rn-3kH7Z4,815224
462
+ yt_dlp/extractor/lazy_extractors.py,sha256=B0vJZ2oVDS0Xn2GdGU1oYDAzBdiYesNCrqPOawyMYpg,815206
463
463
  yt_dlp/extractor/lbry.py,sha256=gC9jRRo8wSXc1-6somhW13brAtmWGlJ5_Q0NMhZpKwk,18078
464
464
  yt_dlp/extractor/lci.py,sha256=_0XuoITIt_QFA-6eBNpDXZZfouwUWfcdHQlpAOuiLEs,2131
465
465
  yt_dlp/extractor/lcp.py,sha256=edMA8L-eJZLquDvHcSY4oFWI0C8yGgjqW1tmhhLMJ5U,2279
@@ -647,7 +647,7 @@ yt_dlp/extractor/palcomp3.py,sha256=wFqkBa1XEodaTw2OZqLqRQ8jQveL39R6sXCH_ibwyRo,
647
647
  yt_dlp/extractor/panopto.py,sha256=RvBX5WEjCAl71v28-gRNSEWHv3aAArT4_kVVUne1LXk,25723
648
648
  yt_dlp/extractor/parler.py,sha256=QtII2_JqjExBdkECl7RUZh5PE1uylOf7HJ4Vkmn9Yu0,3766
649
649
  yt_dlp/extractor/parlview.py,sha256=ItmCcfd6_045TwkrkqnEAYlf18-LcfpdpFBZIqdneBI,2611
650
- yt_dlp/extractor/parti.py,sha256=I2_rksoMUYE67uU486xZb1-w76jZTfeJC8U9gTin8gk,3974
650
+ yt_dlp/extractor/parti.py,sha256=9jRk7Lrop7J4ctihewo4Sl4zvQEbvcN5Ff8M8ZmFdpg,3721
651
651
  yt_dlp/extractor/patreon.py,sha256=SMpRPkkHzsP2otsV0rOyGQmFVfGb_hlNk3xiFff_qN8,28420
652
652
  yt_dlp/extractor/pbs.py,sha256=PRoWH-vjD0B4d-txY8qt4AijhzVowQ6IbTDu6iePGxU,40932
653
653
  yt_dlp/extractor/pearvideo.py,sha256=nrJKNV91R2gMfd65vH-i4LmrVCrVCarXxnXOHFW1RDs,2494
@@ -1066,7 +1066,7 @@ yt_dlp/extractor/youtube/_mistakes.py,sha256=bLrxlAYqdR0mTuCLoMmJHh15BHuhxfHXeQF
1066
1066
  yt_dlp/extractor/youtube/_notifications.py,sha256=1nhavzW0e2QWFAWHkfbTU4sSXNp4vUbGFygYNSgbxBE,4585
1067
1067
  yt_dlp/extractor/youtube/_redirect.py,sha256=WWWnGEkfSGBXpZFi_bWY4XcHZ8PDeK7UsndDaTYYhQg,9005
1068
1068
  yt_dlp/extractor/youtube/_search.py,sha256=E9raTPGjUD6mm81WBpT4AsaxyiTBHdNssgzeHwVeNOE,6552
1069
- yt_dlp/extractor/youtube/_tab.py,sha256=NcbpPvJ4XiTDDNBtaLtCZQBKyo2HuNcq_V-AalY8zj8,115736
1069
+ yt_dlp/extractor/youtube/_tab.py,sha256=MiQGWZdHENOz8Ac-OAuAgqMWJ6gC-PZKJWPDG80QY6E,115490
1070
1070
  yt_dlp/extractor/youtube/_video.py,sha256=m7x1HtlqCmuQFaExYrKazSPzDxPSnYeVdEIRevrHbps,209795
1071
1071
  yt_dlp/extractor/youtube/jsc/__init__.py,sha256=HaVFP8ikrLaE-ClAh39-S28WCF4S2KTRaSu7QvA28E8,289
1072
1072
  yt_dlp/extractor/youtube/jsc/_director.py,sha256=92pB-KVSs6plmE5R8gpjkZL9aeoWNR0XTnGOBXMy9go,13167
@@ -1123,13 +1123,13 @@ yt_dlp/utils/progress.py,sha256=t9kVvJ0oWuEqRzo9fdFbIhHUBtO_8mg348QwZ1faqLo,3261
1123
1123
  yt_dlp/utils/traversal.py,sha256=64E3RcZ56iSX50RI_HbKdDNftkETMLBaEPX791_b7yQ,18265
1124
1124
  yt_dlp/utils/jslib/__init__.py,sha256=CbdJiRA7Eh5PnjF2V4lDTcg0J0XjBMaaq0H4pCfq9Tk,87
1125
1125
  yt_dlp/utils/jslib/devalue.py,sha256=7DCGK_zUN0ZeV5hwPT06zaRMUxX_hyUyFWqs79rxw24,5621
1126
- yt_dlp-2025.12.12.233036.dev0.data/data/share/bash-completion/completions/yt-dlp,sha256=b0pb9GLseKD27CjnLE6LlhVxhfmQjmyqV6r_CRbd6ko,5989
1127
- yt_dlp-2025.12.12.233036.dev0.data/data/share/doc/yt_dlp/README.txt,sha256=wmrt5znP_AlvkrvysScvz2QYyjT2kZ1y2RRmx0Qvy_U,164886
1128
- yt_dlp-2025.12.12.233036.dev0.data/data/share/fish/vendor_completions.d/yt-dlp.fish,sha256=v2WQvWvk4qKpp2-97z2ULb5Msj5dgzU6nMkS-FwSmbM,51488
1129
- yt_dlp-2025.12.12.233036.dev0.data/data/share/man/man1/yt-dlp.1,sha256=9Ll8XNcxtpdL-FmhXtOrDy3OuGmOCatIKNDzmwxzqxo,159421
1130
- yt_dlp-2025.12.12.233036.dev0.data/data/share/zsh/site-functions/_yt-dlp,sha256=pNhu8tT4ZKrksLRI2mXLqarzGGhnOlm_hkCBVhSxLzg,5985
1131
- yt_dlp-2025.12.12.233036.dev0.dist-info/METADATA,sha256=_sU604v_APZ75K6fHKTArtQc8cjX8IqwW8YgGC1cZVU,180282
1132
- yt_dlp-2025.12.12.233036.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
1133
- yt_dlp-2025.12.12.233036.dev0.dist-info/entry_points.txt,sha256=vWfetvzYgZIwDfMW6BjCe0Cy4pmTZEXRNzxAkfYlRJA,103
1134
- yt_dlp-2025.12.12.233036.dev0.dist-info/licenses/LICENSE,sha256=fhLl30uuEsshWBuhV87SDhmGoFCN0Q0Oikq5pM-U6Fw,1211
1135
- yt_dlp-2025.12.12.233036.dev0.dist-info/RECORD,,
1126
+ yt_dlp-2025.12.15.233113.dev0.data/data/share/bash-completion/completions/yt-dlp,sha256=b0pb9GLseKD27CjnLE6LlhVxhfmQjmyqV6r_CRbd6ko,5989
1127
+ yt_dlp-2025.12.15.233113.dev0.data/data/share/doc/yt_dlp/README.txt,sha256=wmrt5znP_AlvkrvysScvz2QYyjT2kZ1y2RRmx0Qvy_U,164886
1128
+ yt_dlp-2025.12.15.233113.dev0.data/data/share/fish/vendor_completions.d/yt-dlp.fish,sha256=v2WQvWvk4qKpp2-97z2ULb5Msj5dgzU6nMkS-FwSmbM,51488
1129
+ yt_dlp-2025.12.15.233113.dev0.data/data/share/man/man1/yt-dlp.1,sha256=9Ll8XNcxtpdL-FmhXtOrDy3OuGmOCatIKNDzmwxzqxo,159421
1130
+ yt_dlp-2025.12.15.233113.dev0.data/data/share/zsh/site-functions/_yt-dlp,sha256=pNhu8tT4ZKrksLRI2mXLqarzGGhnOlm_hkCBVhSxLzg,5985
1131
+ yt_dlp-2025.12.15.233113.dev0.dist-info/METADATA,sha256=lmxwuH8uaKPF_oK_dPyE3eclFej2ftR5hLWVlz4iJGo,180282
1132
+ yt_dlp-2025.12.15.233113.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
1133
+ yt_dlp-2025.12.15.233113.dev0.dist-info/entry_points.txt,sha256=vWfetvzYgZIwDfMW6BjCe0Cy4pmTZEXRNzxAkfYlRJA,103
1134
+ yt_dlp-2025.12.15.233113.dev0.dist-info/licenses/LICENSE,sha256=fhLl30uuEsshWBuhV87SDhmGoFCN0Q0Oikq5pM-U6Fw,1211
1135
+ yt_dlp-2025.12.15.233113.dev0.dist-info/RECORD,,