yt-dlp 2026.1.30.233459.dev0__py3-none-any.whl → 2026.1.31__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.
@@ -271,34 +271,6 @@ INNERTUBE_CLIENTS = {
271
271
  'PLAYER_PO_TOKEN_POLICY': PlayerPoTokenPolicy(required=False, recommended=True),
272
272
  'REQUIRE_JS_PLAYER': False,
273
273
  },
274
- 'ios_downgraded': {
275
- 'INNERTUBE_CONTEXT': {
276
- 'client': {
277
- 'clientName': 'IOS',
278
- 'clientVersion': '19.49.7',
279
- 'deviceMake': 'Apple',
280
- 'deviceModel': 'iPhone16,2',
281
- 'userAgent': 'com.google.ios.youtube/19.49.7 (iPhone16,2; U; CPU iOS 17_5_1 like Mac OS X;)',
282
- 'osName': 'iPhone',
283
- 'osVersion': '17.5.1.21F90',
284
- },
285
- },
286
- 'INNERTUBE_CONTEXT_CLIENT_NAME': 5,
287
- 'GVS_PO_TOKEN_POLICY': {
288
- StreamingProtocol.HTTPS: GvsPoTokenPolicy(
289
- required=True,
290
- recommended=True,
291
- not_required_with_player_token=True,
292
- ),
293
- StreamingProtocol.HLS: GvsPoTokenPolicy(
294
- required=False,
295
- recommended=True,
296
- not_required_with_player_token=True,
297
- ),
298
- },
299
- 'PLAYER_PO_TOKEN_POLICY': PlayerPoTokenPolicy(required=False, recommended=True),
300
- 'REQUIRE_JS_PLAYER': False,
301
- },
302
274
  # mweb has 'ultralow' formats
303
275
  # See: https://github.com/yt-dlp/yt-dlp/pull/557
304
276
  'mweb': {
@@ -379,20 +351,6 @@ INNERTUBE_CLIENTS = {
379
351
  },
380
352
  'INNERTUBE_CONTEXT_CLIENT_NAME': 75,
381
353
  },
382
- # This client now requires sign-in for every video
383
- # It was previously an age-gate workaround for videos that were `playable_in_embed`
384
- # It may still be useful if signed into an EU account that is not age-verified
385
- 'tv_embedded': {
386
- 'INNERTUBE_CONTEXT': {
387
- 'client': {
388
- 'clientName': 'TVHTML5_SIMPLY_EMBEDDED_PLAYER',
389
- 'clientVersion': '2.0',
390
- },
391
- },
392
- 'INNERTUBE_CONTEXT_CLIENT_NAME': 85,
393
- 'REQUIRE_AUTH': True,
394
- 'SUPPORTS_COOKIES': True,
395
- },
396
354
  }
397
355
 
398
356
 
@@ -145,8 +145,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
145
145
  r'\b(?P<id>vfl[a-zA-Z0-9_-]+)\b.*?\.js$',
146
146
  )
147
147
  _SUBTITLE_FORMATS = ('json3', 'srv1', 'srv2', 'srv3', 'ttml', 'srt', 'vtt')
148
- _DEFAULT_CLIENTS = ('android_vr', 'ios_downgraded', 'web', 'web_safari')
149
- _DEFAULT_JSLESS_CLIENTS = ('android_vr', 'ios_downgraded')
148
+ _DEFAULT_CLIENTS = ('android_vr', 'web', 'web_safari')
149
+ _DEFAULT_JSLESS_CLIENTS = ('android_vr',)
150
150
  _DEFAULT_AUTHED_CLIENTS = ('tv_downgraded', 'web', 'web_safari')
151
151
  # Premium does not require POT (except for subtitles)
152
152
  _DEFAULT_PREMIUM_CLIENTS = ('tv_downgraded', 'web_creator', 'web')
@@ -1443,7 +1443,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
1443
1443
  'view_count': int,
1444
1444
  },
1445
1445
  'params': {
1446
- 'extractor_args': {'youtube': {'player_client': ['tv_embedded']}},
1447
1446
  'format': '251-drc',
1448
1447
  'skip_download': True,
1449
1448
  },
@@ -3118,6 +3117,15 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
3118
3117
  else:
3119
3118
  prs.append(pr)
3120
3119
 
3120
+ if (
3121
+ # Is this a "made for kids" video that can't be downloaded with android_vr?
3122
+ client == 'android_vr' and self._is_unplayable(pr)
3123
+ and webpage and 'made for kids' in webpage
3124
+ # ...and is a JS runtime is available?
3125
+ and any(p.is_available() for p in self._jsc_director.providers.values())
3126
+ ):
3127
+ append_client('web_embedded')
3128
+
3121
3129
  # web_embedded can work around age-gate and age-verification for some embeddable videos
3122
3130
  if self._is_agegated(pr) and variant != 'web_embedded':
3123
3131
  append_client(f'web_embedded.{base_client}')
@@ -3134,9 +3142,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
3134
3142
  self.to_screen(
3135
3143
  f'{video_id}: This video is age-restricted and YouTube is requiring '
3136
3144
  'account age-verification; some formats may be missing', only_once=True)
3137
- # tv_embedded can work around the age-verification requirement for embeddable videos
3138
3145
  # web_creator may work around age-verification for all videos but requires PO token
3139
- append_client('tv_embedded', 'web_creator')
3146
+ append_client('web_creator')
3140
3147
 
3141
3148
  status = traverse_obj(pr, ('playabilityStatus', 'status', {str}))
3142
3149
  if status not in ('OK', 'LIVE_STREAM_OFFLINE', 'AGE_CHECK_REQUIRED', 'AGE_VERIFICATION_REQUIRED'):
@@ -3595,10 +3602,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
3595
3602
  if client_name == 'web_safari' and proto == 'hls' and live_status != 'is_live':
3596
3603
  f['source_preference'] -= 1
3597
3604
 
3598
- # Safeguard against inevitable ios_downgraded client breakage
3599
- if client_name == 'ios_downgraded' and proto == 'hls' and live_status != 'is_live':
3600
- f['__needs_testing'] = True
3601
-
3602
3605
  if missing_pot:
3603
3606
  f['format_note'] = join_nonempty(f.get('format_note'), 'MISSING POT', delim=' ')
3604
3607
  f['source_preference'] -= 20
yt_dlp/version.py CHANGED
@@ -1,15 +1,15 @@
1
1
  # Autogenerated by devscripts/update-version.py
2
2
 
3
- __version__ = '2026.01.30.233459'
3
+ __version__ = '2026.01.31'
4
4
 
5
- RELEASE_GIT_HEAD = 'bf5d8c2a663ac690711262aebc733c1b06a54b26'
5
+ RELEASE_GIT_HEAD = '9a9a6b6fe44a30458c1754ef064f354f04a84004'
6
6
 
7
7
  VARIANT = 'pip'
8
8
 
9
9
  UPDATE_HINT = 'You installed yt-dlp with pip or using the wheel from PyPi; Use that to update'
10
10
 
11
- CHANNEL = 'nightly'
11
+ CHANNEL = 'stable'
12
12
 
13
- ORIGIN = 'yt-dlp/yt-dlp-nightly-builds'
13
+ ORIGIN = 'yt-dlp/yt-dlp'
14
14
 
15
- _pkg_version = '2026.01.30.233459dev'
15
+ _pkg_version = '2026.01.31'
@@ -409,7 +409,7 @@ General Options:
409
409
  --no-update Do not check for updates (default)
410
410
  --update-to [CHANNEL]@[TAG] Upgrade/downgrade to a specific version.
411
411
  CHANNEL can be a repository as well. CHANNEL
412
- and TAG default to "nightly" and "latest"
412
+ and TAG default to "stable" and "latest"
413
413
  respectively if omitted; See "UPDATE" for
414
414
  details. Supported channels: stable,
415
415
  nightly, master
@@ -2312,24 +2312,25 @@ youtube
2312
2312
  respectively
2313
2313
  - player_client: Clients to extract video data from. The currently
2314
2314
  available clients are web, web_safari, web_embedded, web_music,
2315
- web_creator, mweb, ios, ios_downgraded, android, android_vr, tv,
2316
- tv_simply, tv_downgraded, and tv_embedded. By default,
2317
- android_vr,ios_downgraded,web,web_safari is used. If no JavaScript
2318
- runtime/engine is available, then android_vr,ios_downgraded is used.
2319
- If logged-in cookies are passed to yt-dlp, then
2315
+ web_creator, mweb, ios, android, android_vr, tv, tv_downgraded, and
2316
+ tv_simply. By default, android_vr,web,web_safari is used. If no
2317
+ JavaScript runtime/engine is available, then only android_vr is
2318
+ used. If logged-in cookies are passed to yt-dlp, then
2320
2319
  tv_downgraded,web,web_safari is used for free accounts and
2321
2320
  tv_downgraded,web_creator,web is used for premium accounts. The
2322
2321
  web_music client is added for music.youtube.com URLs when logged-in
2323
2322
  cookies are used. The web_embedded client is added for
2324
- age-restricted videos but only works if the video is embeddable. The
2325
- tv_embedded and web_creator clients are added for age-restricted
2326
- videos if account age-verification is required. Some clients, such
2327
- as web and web_music, require a po_token for their formats to be
2328
- downloadable. Some clients, such as web_creator, will only work with
2323
+ age-restricted videos but only successfully works around the
2324
+ age-restriction sometimes (e.g. if the video is embeddable), and may
2325
+ be added as a fallback if android_vr is unable to access a video.
2326
+ The web_creator client is added for age-restricted videos if account
2327
+ age-verification is required. Some clients, such as web_creator and
2328
+ web_music, require a po_token for their formats to be downloadable.
2329
+ Some clients, such as web_creator, will only work with
2329
2330
  authentication. Not all clients support authentication via cookies.
2330
2331
  You can use default for the default clients, or you can use all for
2331
2332
  all clients (not recommended). You can prefix a client with - to
2332
- exclude it, e.g. youtube:player_client=default,-ios
2333
+ exclude it, e.g. youtube:player_client=default,-web
2333
2334
  - player_skip: Skip some network requests that are generally needed
2334
2335
  for robust extraction. One or more of configs (skip client configs),
2335
2336
  webpage (skip initial webpage), js (skip js player), initial_data
@@ -3,7 +3,7 @@ complete --command yt-dlp --long-option help --short-option h --description 'Pri
3
3
  complete --command yt-dlp --long-option version --description 'Print program version and exit'
4
4
  complete --command yt-dlp --long-option update --short-option U --description 'Check if updates are available. You installed yt-dlp from a manual build or with a package manager; Use that to update'
5
5
  complete --command yt-dlp --long-option no-update --description 'Do not check for updates (default)'
6
- complete --command yt-dlp --long-option update-to --description 'Upgrade/downgrade to a specific version. CHANNEL can be a repository as well. CHANNEL and TAG default to "nightly" and "latest" respectively if omitted; See "UPDATE" for details. Supported channels: stable, nightly, master'
6
+ complete --command yt-dlp --long-option update-to --description 'Upgrade/downgrade to a specific version. CHANNEL can be a repository as well. CHANNEL and TAG default to "stable" and "latest" respectively if omitted; See "UPDATE" for details. Supported channels: stable, nightly, master'
7
7
  complete --command yt-dlp --long-option ignore-errors --short-option i --description 'Ignore download and postprocessing errors. The download will be considered successful even if the postprocessing fails'
8
8
  complete --command yt-dlp --long-option no-abort-on-error --description 'Continue with next video on download errors; e.g. to skip unavailable videos in a playlist (default)'
9
9
  complete --command yt-dlp --long-option abort-on-error --description 'Abort downloading of further videos if an error occurs (Alias: --no-ignore-errors)'
@@ -48,7 +48,7 @@ Do not check for updates (default)
48
48
  --update-to \f[I][CHANNEL]\[at][TAG]\f[R]
49
49
  Upgrade/downgrade to a specific version.
50
50
  CHANNEL can be a repository as well.
51
- CHANNEL and TAG default to \[dq]nightly\[dq] and \[dq]latest\[dq]
51
+ CHANNEL and TAG default to \[dq]stable\[dq] and \[dq]latest\[dq]
52
52
  respectively if omitted; See \[dq]UPDATE\[dq] for details.
53
53
  Supported channels: stable, nightly, master
54
54
  .TP
@@ -2713,30 +2713,31 @@ respectively
2713
2713
  \f[V]player_client\f[R]: Clients to extract video data from.
2714
2714
  The currently available clients are \f[V]web\f[R], \f[V]web_safari\f[R],
2715
2715
  \f[V]web_embedded\f[R], \f[V]web_music\f[R], \f[V]web_creator\f[R],
2716
- \f[V]mweb\f[R], \f[V]ios\f[R], \f[V]ios_downgraded\f[R],
2717
- \f[V]android\f[R], \f[V]android_vr\f[R], \f[V]tv\f[R],
2718
- \f[V]tv_simply\f[R], \f[V]tv_downgraded\f[R], and \f[V]tv_embedded\f[R].
2719
- By default, \f[V]android_vr,ios_downgraded,web,web_safari\f[R] is used.
2720
- If no JavaScript runtime/engine is available, then
2721
- \f[V]android_vr,ios_downgraded\f[R] is used.
2716
+ \f[V]mweb\f[R], \f[V]ios\f[R], \f[V]android\f[R], \f[V]android_vr\f[R],
2717
+ \f[V]tv\f[R], \f[V]tv_downgraded\f[R], and \f[V]tv_simply\f[R].
2718
+ By default, \f[V]android_vr,web,web_safari\f[R] is used.
2719
+ If no JavaScript runtime/engine is available, then only
2720
+ \f[V]android_vr\f[R] is used.
2722
2721
  If logged-in cookies are passed to yt-dlp, then
2723
2722
  \f[V]tv_downgraded,web,web_safari\f[R] is used for free accounts and
2724
2723
  \f[V]tv_downgraded,web_creator,web\f[R] is used for premium accounts.
2725
2724
  The \f[V]web_music\f[R] client is added for \f[V]music.youtube.com\f[R]
2726
2725
  URLs when logged-in cookies are used.
2727
2726
  The \f[V]web_embedded\f[R] client is added for age-restricted videos but
2728
- only works if the video is embeddable.
2729
- The \f[V]tv_embedded\f[R] and \f[V]web_creator\f[R] clients are added
2730
- for age-restricted videos if account age-verification is required.
2731
- Some clients, such as \f[V]web\f[R] and \f[V]web_music\f[R], require a
2732
- \f[V]po_token\f[R] for their formats to be downloadable.
2727
+ only successfully works around the age-restriction sometimes (e.g.
2728
+ if the video is embeddable), and may be added as a fallback if
2729
+ \f[V]android_vr\f[R] is unable to access a video.
2730
+ The \f[V]web_creator\f[R] client is added for age-restricted videos if
2731
+ account age-verification is required.
2732
+ Some clients, such as \f[V]web_creator\f[R] and \f[V]web_music\f[R],
2733
+ require a \f[V]po_token\f[R] for their formats to be downloadable.
2733
2734
  Some clients, such as \f[V]web_creator\f[R], will only work with
2734
2735
  authentication.
2735
2736
  Not all clients support authentication via cookies.
2736
2737
  You can use \f[V]default\f[R] for the default clients, or you can use
2737
2738
  \f[V]all\f[R] for all clients (not recommended).
2738
2739
  You can prefix a client with \f[V]-\f[R] to exclude it, e.g.
2739
- \f[V]youtube:player_client=default,-ios\f[R]
2740
+ \f[V]youtube:player_client=default,-web\f[R]
2740
2741
  .IP \[bu] 2
2741
2742
  \f[V]player_skip\f[R]: Skip some network requests that are generally
2742
2743
  needed for robust extraction.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yt-dlp
3
- Version: 2026.1.30.233459.dev0
3
+ Version: 2026.1.31
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
@@ -388,7 +388,7 @@ Tip: Use `CTRL`+`F` (or `Command`+`F`) to search by keywords
388
388
  --no-update Do not check for updates (default)
389
389
  --update-to [CHANNEL]@[TAG] Upgrade/downgrade to a specific version.
390
390
  CHANNEL can be a repository as well. CHANNEL
391
- and TAG default to "nightly" and "latest"
391
+ and TAG default to "stable" and "latest"
392
392
  respectively if omitted; See "UPDATE" for
393
393
  details. Supported channels: stable,
394
394
  nightly, master
@@ -1934,7 +1934,7 @@ The following extractors use this feature:
1934
1934
  #### youtube
1935
1935
  * `lang`: Prefer translated metadata (`title`, `description` etc) of this language code (case-sensitive). By default, the video primary language metadata is preferred, with a fallback to `en` translated. See [youtube/_base.py](https://github.com/yt-dlp/yt-dlp/blob/415b4c9f955b1a0391204bd24a7132590e7b3bdb/yt_dlp/extractor/youtube/_base.py#L402-L409) for the list of supported content language codes
1936
1936
  * `skip`: One or more of `hls`, `dash` or `translated_subs` to skip extraction of the m3u8 manifests, dash manifests and [auto-translated subtitles](https://github.com/yt-dlp/yt-dlp/issues/4090#issuecomment-1158102032) respectively
1937
- * `player_client`: Clients to extract video data from. The currently available clients are `web`, `web_safari`, `web_embedded`, `web_music`, `web_creator`, `mweb`, `ios`, `ios_downgraded`, `android`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `android_vr,ios_downgraded,web,web_safari` is used. If no JavaScript runtime/engine is available, then `android_vr,ios_downgraded` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web,web_safari` is used for free accounts and `tv_downgraded,web_creator,web` is used for premium accounts. The `web_music` client is added for `music.youtube.com` URLs when logged-in cookies are used. The `web_embedded` client is added for age-restricted videos but only works if the video is embeddable. The `tv_embedded` and `web_creator` clients are added for age-restricted videos if account age-verification is required. Some clients, such as `web` and `web_music`, require a `po_token` for their formats to be downloadable. Some clients, such as `web_creator`, will only work with authentication. Not all clients support authentication via cookies. You can use `default` for the default clients, or you can use `all` for all clients (not recommended). You can prefix a client with `-` to exclude it, e.g. `youtube:player_client=default,-ios`
1937
+ * `player_client`: Clients to extract video data from. The currently available clients are `web`, `web_safari`, `web_embedded`, `web_music`, `web_creator`, `mweb`, `ios`, `android`, `android_vr`, `tv`, `tv_downgraded`, and `tv_simply`. By default, `android_vr,web,web_safari` is used. If no JavaScript runtime/engine is available, then only `android_vr` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web,web_safari` is used for free accounts and `tv_downgraded,web_creator,web` is used for premium accounts. The `web_music` client is added for `music.youtube.com` URLs when logged-in cookies are used. The `web_embedded` client is added for age-restricted videos but only successfully works around the age-restriction sometimes (e.g. if the video is embeddable), and may be added as a fallback if `android_vr` is unable to access a video. The `web_creator` client is added for age-restricted videos if account age-verification is required. Some clients, such as `web_creator` and `web_music`, require a `po_token` for their formats to be downloadable. Some clients, such as `web_creator`, will only work with authentication. Not all clients support authentication via cookies. You can use `default` for the default clients, or you can use `all` for all clients (not recommended). You can prefix a client with `-` to exclude it, e.g. `youtube:player_client=default,-web`
1938
1938
  * `player_skip`: Skip some network requests that are generally needed for robust extraction. One or more of `configs` (skip client configs), `webpage` (skip initial webpage), `js` (skip js player), `initial_data` (skip initial data/next ep request). While these options can help reduce the number of requests needed or avoid some rate-limiting, they could cause issues such as missing formats or metadata. See [#860](https://github.com/yt-dlp/yt-dlp/pull/860) and [#12826](https://github.com/yt-dlp/yt-dlp/issues/12826) for more details
1939
1939
  * `webpage_skip`: Skip extraction of embedded webpage data. One or both of `player_response`, `initial_data`. These options are for testing purposes and don't skip any network requests
1940
1940
  * `player_params`: YouTube player parameters to use for player requests. Will overwrite any default ones set by yt-dlp.
@@ -11,7 +11,7 @@ yt_dlp/options.py,sha256=-PQ5DyRSIU9YBSG2oh0RTHC-eg4EewNt4zewTZTuERM,100632
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=fbrJWbuo8Cmrv0eGqkbmplWjee7OVuJdQ9EH5wlJQCw,360
14
+ yt_dlp/version.py,sha256=hlGG8zZw6N6P2hxT8PCeWnpq6XuGTfPSI290iDlylqw,327
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
@@ -1062,14 +1062,14 @@ yt_dlp/extractor/zingmp3.py,sha256=KHD-f-1vUPy18Xk-_F_H_LfFR9N7-bONFYWeNRvJ1Z4,2
1062
1062
  yt_dlp/extractor/zoom.py,sha256=7FwI0aJRG3evlKmCC97Ndc7oFRrFT3LHiHye__QZ7Do,7305
1063
1063
  yt_dlp/extractor/zype.py,sha256=e3_07aMl65x-ziI5Ge_Ph_lCV4q67DnqeRq2PjIKZj4,5507
1064
1064
  yt_dlp/extractor/youtube/__init__.py,sha256=3F72z6WHXlv41giIdmmVY7Fws-bAnkiWz8Eh3A19004,1454
1065
- yt_dlp/extractor/youtube/_base.py,sha256=X6-smdV2ww_L-C64UKVOCMJ0OVWkjKGlEMc9lCd-mpo,55635
1065
+ yt_dlp/extractor/youtube/_base.py,sha256=3gWKI_JBxG8jpiZBmtxqC6Z-NJfa8ouVNHIuMHpZT1w,54031
1066
1066
  yt_dlp/extractor/youtube/_clip.py,sha256=__EJUrb6iUCIURupsaa-ixn51q4esfok09znrpvdD88,3073
1067
1067
  yt_dlp/extractor/youtube/_mistakes.py,sha256=bLrxlAYqdR0mTuCLoMmJHh15BHuhxfHXeQFTVBRX9Lk,2142
1068
1068
  yt_dlp/extractor/youtube/_notifications.py,sha256=1nhavzW0e2QWFAWHkfbTU4sSXNp4vUbGFygYNSgbxBE,4585
1069
1069
  yt_dlp/extractor/youtube/_redirect.py,sha256=WWWnGEkfSGBXpZFi_bWY4XcHZ8PDeK7UsndDaTYYhQg,9005
1070
1070
  yt_dlp/extractor/youtube/_search.py,sha256=E9raTPGjUD6mm81WBpT4AsaxyiTBHdNssgzeHwVeNOE,6552
1071
1071
  yt_dlp/extractor/youtube/_tab.py,sha256=MiQGWZdHENOz8Ac-OAuAgqMWJ6gC-PZKJWPDG80QY6E,115490
1072
- yt_dlp/extractor/youtube/_video.py,sha256=w7S3fLYbrdOWu7m7JsdMRwfxTJb7EGALGMgAAkv-Lck,215219
1072
+ yt_dlp/extractor/youtube/_video.py,sha256=7m1I1E8HJzTpPlmpIbr_Gf5mH-Z7gJwSJ1KFCRTihfY,215203
1073
1073
  yt_dlp/extractor/youtube/jsc/__init__.py,sha256=HaVFP8ikrLaE-ClAh39-S28WCF4S2KTRaSu7QvA28E8,289
1074
1074
  yt_dlp/extractor/youtube/jsc/_director.py,sha256=92pB-KVSs6plmE5R8gpjkZL9aeoWNR0XTnGOBXMy9go,13167
1075
1075
  yt_dlp/extractor/youtube/jsc/_registry.py,sha256=Vg9GkHKHKKPeRfUQ-XSw01mfx_2Xyodh0SJpwjawYCA,102
@@ -1125,13 +1125,13 @@ yt_dlp/utils/progress.py,sha256=t9kVvJ0oWuEqRzo9fdFbIhHUBtO_8mg348QwZ1faqLo,3261
1125
1125
  yt_dlp/utils/traversal.py,sha256=64E3RcZ56iSX50RI_HbKdDNftkETMLBaEPX791_b7yQ,18265
1126
1126
  yt_dlp/utils/jslib/__init__.py,sha256=CbdJiRA7Eh5PnjF2V4lDTcg0J0XjBMaaq0H4pCfq9Tk,87
1127
1127
  yt_dlp/utils/jslib/devalue.py,sha256=UtcQ1IEzt6HWBjB9Z_6rJMb3y2pFrbHXDNu1rrxXF1c,5583
1128
- yt_dlp-2026.1.30.233459.dev0.data/data/share/bash-completion/completions/yt-dlp,sha256=KKMwJ7JkH-B2rXIR9n4wAHTqn5waHyxzPtVmsMoYkDI,6009
1129
- yt_dlp-2026.1.30.233459.dev0.data/data/share/doc/yt_dlp/README.txt,sha256=4T6_JYCi7J-bEo_VHyLoj8D2wr3RRjhzCxbY13qZrsI,166216
1130
- yt_dlp-2026.1.30.233459.dev0.data/data/share/fish/vendor_completions.d/yt-dlp.fish,sha256=L0JADRod-4ew2pvmYGiDUuXFgu1Ac8msk-ackiLYHCo,51632
1131
- yt_dlp-2026.1.30.233459.dev0.data/data/share/man/man1/yt-dlp.1,sha256=m1y5ya1IKD1_33TmVEpP3p1HYZH1KhKrJRVZ_3Ci54M,160877
1132
- yt_dlp-2026.1.30.233459.dev0.data/data/share/zsh/site-functions/_yt-dlp,sha256=VsiR8Dn2RqbVSZHAqQyDtTfrc3BIBdzwgrcaJqux8kQ,6005
1133
- yt_dlp-2026.1.30.233459.dev0.dist-info/METADATA,sha256=PP2mjeeUT2gpSj0UrsFCsCIXGiX8GkB1z7TxmIC0pZQ,181977
1134
- yt_dlp-2026.1.30.233459.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
1135
- yt_dlp-2026.1.30.233459.dev0.dist-info/entry_points.txt,sha256=vWfetvzYgZIwDfMW6BjCe0Cy4pmTZEXRNzxAkfYlRJA,103
1136
- yt_dlp-2026.1.30.233459.dev0.dist-info/licenses/LICENSE,sha256=fhLl30uuEsshWBuhV87SDhmGoFCN0Q0Oikq5pM-U6Fw,1211
1137
- yt_dlp-2026.1.30.233459.dev0.dist-info/RECORD,,
1128
+ yt_dlp-2026.1.31.data/data/share/bash-completion/completions/yt-dlp,sha256=KKMwJ7JkH-B2rXIR9n4wAHTqn5waHyxzPtVmsMoYkDI,6009
1129
+ yt_dlp-2026.1.31.data/data/share/doc/yt_dlp/README.txt,sha256=f2ggWFxMw81azto9tEBS2y0lHKja7y6lmf7HEicmfZM,166286
1130
+ yt_dlp-2026.1.31.data/data/share/fish/vendor_completions.d/yt-dlp.fish,sha256=8eiSHKyozebmNDndOk6fwJC3l5kAnZDWfK98lyo5pj4,51631
1131
+ yt_dlp-2026.1.31.data/data/share/man/man1/yt-dlp.1,sha256=JxaYcMoQ8bEHQ5BeQvZHwKM6exGD5KYblnMjBEVHa4g,160923
1132
+ yt_dlp-2026.1.31.data/data/share/zsh/site-functions/_yt-dlp,sha256=VsiR8Dn2RqbVSZHAqQyDtTfrc3BIBdzwgrcaJqux8kQ,6005
1133
+ yt_dlp-2026.1.31.dist-info/METADATA,sha256=JfYgHjGePllDo34C1O1XJm0GHaFlw4fhzHX7ZQIdbDo,182027
1134
+ yt_dlp-2026.1.31.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
1135
+ yt_dlp-2026.1.31.dist-info/entry_points.txt,sha256=vWfetvzYgZIwDfMW6BjCe0Cy4pmTZEXRNzxAkfYlRJA,103
1136
+ yt_dlp-2026.1.31.dist-info/licenses/LICENSE,sha256=fhLl30uuEsshWBuhV87SDhmGoFCN0Q0Oikq5pM-U6Fw,1211
1137
+ yt_dlp-2026.1.31.dist-info/RECORD,,