yt-dlp 2026.1.16.233125.dev0__py3-none-any.whl → 2026.1.19.233146.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.
Files changed (21) hide show
  1. yt_dlp/extractor/_extractors.py +23 -28
  2. yt_dlp/extractor/cbc.py +19 -3
  3. yt_dlp/extractor/ccc.py +20 -2
  4. yt_dlp/extractor/extractors.py +13 -7
  5. yt_dlp/extractor/lazy_extractors.py +222 -222
  6. yt_dlp/extractor/youtube/_base.py +16 -16
  7. yt_dlp/extractor/youtube/_video.py +173 -153
  8. yt_dlp/networking/_curlcffi.py +2 -2
  9. yt_dlp/options.py +6 -1
  10. yt_dlp/utils/_jsruntime.py +8 -0
  11. yt_dlp/version.py +3 -3
  12. {yt_dlp-2026.1.16.233125.dev0.data → yt_dlp-2026.1.19.233146.dev0.data}/data/share/bash-completion/completions/yt-dlp +1 -1
  13. {yt_dlp-2026.1.16.233125.dev0.data → yt_dlp-2026.1.19.233146.dev0.data}/data/share/doc/yt_dlp/README.txt +31 -15
  14. {yt_dlp-2026.1.16.233125.dev0.data → yt_dlp-2026.1.19.233146.dev0.data}/data/share/fish/vendor_completions.d/yt-dlp.fish +1 -0
  15. {yt_dlp-2026.1.16.233125.dev0.data → yt_dlp-2026.1.19.233146.dev0.data}/data/share/man/man1/yt-dlp.1 +27 -6
  16. {yt_dlp-2026.1.16.233125.dev0.data → yt_dlp-2026.1.19.233146.dev0.data}/data/share/zsh/site-functions/_yt-dlp +1 -1
  17. {yt_dlp-2026.1.16.233125.dev0.dist-info → yt_dlp-2026.1.19.233146.dev0.dist-info}/METADATA +17 -5
  18. {yt_dlp-2026.1.16.233125.dev0.dist-info → yt_dlp-2026.1.19.233146.dev0.dist-info}/RECORD +21 -21
  19. {yt_dlp-2026.1.16.233125.dev0.dist-info → yt_dlp-2026.1.19.233146.dev0.dist-info}/WHEEL +0 -0
  20. {yt_dlp-2026.1.16.233125.dev0.dist-info → yt_dlp-2026.1.19.233146.dev0.dist-info}/entry_points.txt +0 -0
  21. {yt_dlp-2026.1.16.233125.dev0.dist-info → yt_dlp-2026.1.19.233146.dev0.dist-info}/licenses/LICENSE +0 -0
yt_dlp/version.py CHANGED
@@ -1,8 +1,8 @@
1
1
  # Autogenerated by devscripts/update-version.py
2
2
 
3
- __version__ = '2026.01.16.233125'
3
+ __version__ = '2026.01.19.233146'
4
4
 
5
- RELEASE_GIT_HEAD = 'ede54330fb38866936c63ebb96c490a2d4b1b58c'
5
+ RELEASE_GIT_HEAD = 'c8680b65f79cfeb23b342b70ffe1e233902f7933'
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 = '2026.01.16.233125dev'
15
+ _pkg_version = '2026.01.19.233146dev'
@@ -4,7 +4,7 @@ __yt_dlp()
4
4
  COMPREPLY=()
5
5
  cur="${COMP_WORDS[COMP_CWORD]}"
6
6
  prev="${COMP_WORDS[COMP_CWORD-1]}"
7
- opts="--help --version --update --no-update --update-to --ignore-errors --no-abort-on-error --abort-on-error --list-extractors --extractor-descriptions --use-extractors --force-generic-extractor --default-search --ignore-config --no-config-locations --config-locations --plugin-dirs --no-plugin-dirs --js-runtimes --no-js-runtimes --remote-components --no-remote-components --flat-playlist --no-flat-playlist --live-from-start --no-live-from-start --wait-for-video --no-wait-for-video --mark-watched --no-mark-watched --no-colors --color --compat-options --alias --preset-alias --proxy --socket-timeout --source-address --impersonate --list-impersonate-targets --force-ipv4 --force-ipv6 --enable-file-urls --geo-verification-proxy --xff --geo-bypass --no-geo-bypass --geo-bypass-country --geo-bypass-ip-block --playlist-start --playlist-end --playlist-items --match-title --reject-title --min-filesize --max-filesize --date --datebefore --dateafter --min-views --max-views --match-filters --no-match-filters --break-match-filters --no-break-match-filters --no-playlist --yes-playlist --age-limit --download-archive --no-download-archive --max-downloads --break-on-existing --no-break-on-existing --break-on-reject --break-per-input --no-break-per-input --skip-playlist-after-errors --concurrent-fragments --limit-rate --throttled-rate --retries --file-access-retries --fragment-retries --retry-sleep --skip-unavailable-fragments --abort-on-unavailable-fragments --keep-fragments --no-keep-fragments --buffer-size --resize-buffer --no-resize-buffer --http-chunk-size --test --playlist-reverse --no-playlist-reverse --playlist-random --lazy-playlist --no-lazy-playlist --hls-prefer-native --hls-prefer-ffmpeg --hls-use-mpegts --no-hls-use-mpegts --download-sections --downloader --downloader-args --batch-file --no-batch-file --id --paths --output --output-na-placeholder --autonumber-size --autonumber-start --restrict-filenames --no-restrict-filenames --windows-filenames --no-windows-filenames --trim-filenames --no-overwrites --force-overwrites --no-force-overwrites --continue --no-continue --part --no-part --mtime --no-mtime --write-description --no-write-description --write-info-json --no-write-info-json --write-playlist-metafiles --no-write-playlist-metafiles --clean-info-json --no-clean-info-json --write-comments --no-write-comments --load-info-json --cookies --no-cookies --cookies-from-browser --no-cookies-from-browser --cache-dir --no-cache-dir --rm-cache-dir --write-thumbnail --no-write-thumbnail --write-all-thumbnails --list-thumbnails --write-link --write-url-link --write-webloc-link --write-desktop-link --quiet --no-quiet --no-warnings --simulate --no-simulate --ignore-no-formats-error --no-ignore-no-formats-error --skip-download --print --print-to-file --get-url --get-title --get-id --get-thumbnail --get-description --get-duration --get-filename --get-format --dump-json --dump-single-json --print-json --force-write-archive --newline --no-progress --progress --console-title --progress-template --progress-delta --verbose --dump-pages --write-pages --load-pages --print-traffic --encoding --legacy-server-connect --no-check-certificates --prefer-insecure --user-agent --referer --add-headers --bidi-workaround --sleep-requests --sleep-interval --max-sleep-interval --sleep-subtitles --format --format-sort --format-sort-force --no-format-sort-force --video-multistreams --no-video-multistreams --audio-multistreams --no-audio-multistreams --all-formats --prefer-free-formats --no-prefer-free-formats --check-formats --check-all-formats --no-check-formats --list-formats --list-formats-as-table --list-formats-old --merge-output-format --allow-unplayable-formats --no-allow-unplayable-formats --write-subs --no-write-subs --write-auto-subs --no-write-auto-subs --all-subs --list-subs --sub-format --sub-langs --username --password --twofactor --netrc --netrc-location --netrc-cmd --video-password --ap-mso --ap-username --ap-password --ap-list-mso --client-certificate --client-certificate-key --client-certificate-password --extract-audio --audio-format --audio-quality --remux-video --recode-video --postprocessor-args --keep-video --no-keep-video --post-overwrites --no-post-overwrites --embed-subs --no-embed-subs --embed-thumbnail --no-embed-thumbnail --embed-metadata --no-embed-metadata --embed-chapters --no-embed-chapters --embed-info-json --no-embed-info-json --metadata-from-title --parse-metadata --replace-in-metadata --xattrs --concat-playlist --fixup --ffmpeg-location --exec --no-exec --exec-before-download --no-exec-before-download --convert-subs --convert-thumbnails --split-chapters --no-split-chapters --remove-chapters --no-remove-chapters --force-keyframes-at-cuts --no-force-keyframes-at-cuts --use-postprocessor --sponsorblock-mark --sponsorblock-remove --sponsorblock-chapter-title --no-sponsorblock --sponsorblock-api --extractor-retries --allow-dynamic-mpd --ignore-dynamic-mpd --hls-split-discontinuity --no-hls-split-discontinuity --extractor-args"
7
+ opts="--help --version --update --no-update --update-to --ignore-errors --no-abort-on-error --abort-on-error --list-extractors --extractor-descriptions --use-extractors --force-generic-extractor --default-search --ignore-config --no-config-locations --config-locations --plugin-dirs --no-plugin-dirs --js-runtimes --no-js-runtimes --remote-components --no-remote-components --flat-playlist --no-flat-playlist --live-from-start --no-live-from-start --wait-for-video --no-wait-for-video --mark-watched --no-mark-watched --no-colors --color --compat-options --alias --preset-alias --proxy --socket-timeout --source-address --impersonate --list-impersonate-targets --force-ipv4 --force-ipv6 --enable-file-urls --geo-verification-proxy --xff --geo-bypass --no-geo-bypass --geo-bypass-country --geo-bypass-ip-block --playlist-start --playlist-end --playlist-items --match-title --reject-title --min-filesize --max-filesize --date --datebefore --dateafter --min-views --max-views --match-filters --no-match-filters --break-match-filters --no-break-match-filters --no-playlist --yes-playlist --age-limit --download-archive --no-download-archive --max-downloads --break-on-existing --no-break-on-existing --break-on-reject --break-per-input --no-break-per-input --skip-playlist-after-errors --concurrent-fragments --limit-rate --throttled-rate --retries --file-access-retries --fragment-retries --retry-sleep --skip-unavailable-fragments --abort-on-unavailable-fragments --keep-fragments --no-keep-fragments --buffer-size --resize-buffer --no-resize-buffer --http-chunk-size --test --playlist-reverse --no-playlist-reverse --playlist-random --lazy-playlist --no-lazy-playlist --hls-prefer-native --hls-prefer-ffmpeg --hls-use-mpegts --no-hls-use-mpegts --download-sections --downloader --downloader-args --batch-file --no-batch-file --id --paths --output --output-na-placeholder --autonumber-size --autonumber-start --restrict-filenames --no-restrict-filenames --windows-filenames --no-windows-filenames --trim-filenames --no-overwrites --force-overwrites --no-force-overwrites --continue --no-continue --part --no-part --mtime --no-mtime --write-description --no-write-description --write-info-json --no-write-info-json --write-playlist-metafiles --no-write-playlist-metafiles --clean-info-json --no-clean-info-json --write-comments --no-write-comments --load-info-json --cookies --no-cookies --cookies-from-browser --no-cookies-from-browser --cache-dir --no-cache-dir --rm-cache-dir --write-thumbnail --no-write-thumbnail --write-all-thumbnails --list-thumbnails --write-link --write-url-link --write-webloc-link --write-desktop-link --quiet --no-quiet --no-warnings --simulate --no-simulate --ignore-no-formats-error --no-ignore-no-formats-error --skip-download --print --print-to-file --get-url --get-title --get-id --get-thumbnail --get-description --get-duration --get-filename --get-format --dump-json --dump-single-json --print-json --force-write-archive --newline --no-progress --progress --console-title --progress-template --progress-delta --verbose --dump-pages --write-pages --load-pages --print-traffic --encoding --legacy-server-connect --no-check-certificates --prefer-insecure --user-agent --referer --add-headers --bidi-workaround --sleep-requests --sleep-interval --max-sleep-interval --sleep-subtitles --format --format-sort --format-sort-reset --format-sort-force --no-format-sort-force --video-multistreams --no-video-multistreams --audio-multistreams --no-audio-multistreams --all-formats --prefer-free-formats --no-prefer-free-formats --check-formats --check-all-formats --no-check-formats --list-formats --list-formats-as-table --list-formats-old --merge-output-format --allow-unplayable-formats --no-allow-unplayable-formats --write-subs --no-write-subs --write-auto-subs --no-write-auto-subs --all-subs --list-subs --sub-format --sub-langs --username --password --twofactor --netrc --netrc-location --netrc-cmd --video-password --ap-mso --ap-username --ap-password --ap-list-mso --client-certificate --client-certificate-key --client-certificate-password --extract-audio --audio-format --audio-quality --remux-video --recode-video --postprocessor-args --keep-video --no-keep-video --post-overwrites --no-post-overwrites --embed-subs --no-embed-subs --embed-thumbnail --no-embed-thumbnail --embed-metadata --no-embed-metadata --embed-chapters --no-embed-chapters --embed-info-json --no-embed-info-json --metadata-from-title --parse-metadata --replace-in-metadata --xattrs --concat-playlist --fixup --ffmpeg-location --exec --no-exec --exec-before-download --no-exec-before-download --convert-subs --convert-thumbnails --split-chapters --no-split-chapters --remove-chapters --no-remove-chapters --force-keyframes-at-cuts --no-force-keyframes-at-cuts --use-postprocessor --sponsorblock-mark --sponsorblock-remove --sponsorblock-chapter-title --no-sponsorblock --sponsorblock-api --extractor-retries --allow-dynamic-mpd --ignore-dynamic-mpd --hls-split-discontinuity --no-hls-split-discontinuity --extractor-args"
8
8
  keywords=":ytfavorites :ytrecommended :ytsubscriptions :ytwatchlater :ythistory"
9
9
  fileopts="-a|--batch-file|--download-archive|--cookies|--load-info-json"
10
10
  diropts="--cache-dir"
@@ -963,6 +963,8 @@ Video Format Options:
963
963
  for more details
964
964
  -S, --format-sort SORTORDER Sort the formats by the fields given, see
965
965
  "Sorting Formats" for more details
966
+ --format-sort-reset Disregard previous user specified sort order
967
+ and reset to the default
966
968
  --format-sort-force Force user specified sort order to have
967
969
  precedence over all fields, see "Sorting
968
970
  Formats" for more details (Alias: --S-force)
@@ -2038,6 +2040,15 @@ respects. Most of the time, what you actually want is the video with the
2038
2040
  smallest filesize instead. So it is generally better to use
2039
2041
  -f best -S +size,+br,+res,+fps.
2040
2042
 
2043
+ If you use the -S/--format-sort option multiple times, each subsequent
2044
+ sorting argument will be prepended to the previous one, and only the
2045
+ highest priority entry of any duplicated field will be preserved. E.g.
2046
+ -S proto -S res is equivalent to -S res,proto, and
2047
+ -S res:720,fps -S vcodec,res:1080 is equivalent to
2048
+ -S vcodec,res:1080,fps. You can use --format-sort-reset to disregard any
2049
+ previously passed -S/--format-sort arguments and reset to the default
2050
+ order.
2051
+
2041
2052
  Tip: You can use the -v -F to see how the formats have been sorted
2042
2053
  (worst to best).
2043
2054
 
@@ -2303,18 +2314,18 @@ youtube
2303
2314
  available clients are web, web_safari, web_embedded, web_music,
2304
2315
  web_creator, mweb, ios, android, android_sdkless, android_vr, tv,
2305
2316
  tv_simply, tv_downgraded, and tv_embedded. By default,
2306
- tv,android_sdkless,web is used. If no JavaScript runtime/engine is
2307
- available, then android_sdkless,web_safari,web is used. If logged-in
2308
- cookies are passed to yt-dlp, then tv_downgraded,web_safari,web is
2309
- used for free accounts and tv_downgraded,web_creator,web is used for
2310
- premium accounts. The web_music client is added for
2311
- music.youtube.com URLs when logged-in cookies are used. The
2312
- web_embedded client is added for age-restricted videos but only
2313
- works if the video is embeddable. The tv_embedded and web_creator
2314
- clients are added for age-restricted videos if account
2315
- age-verification is required. Some clients, such as web and
2316
- web_music, require a po_token for their formats to be downloadable.
2317
- Some clients, such as web_creator, will only work with
2317
+ android_sdkless,web,web_safari is used. If no JavaScript
2318
+ runtime/engine is available, then only android_sdkless is used. If
2319
+ logged-in cookies are passed to yt-dlp, then
2320
+ tv_downgraded,web,web_safari is used for free accounts and
2321
+ tv_downgraded,web_creator,web is used for premium accounts. The
2322
+ web_music client is added for music.youtube.com URLs when logged-in
2323
+ 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
2318
2329
  authentication. Not all clients support authentication via cookies.
2319
2330
  You can use default for the default clients, or you can use all for
2320
2331
  all clients (not recommended). You can prefix a client with - to
@@ -3097,7 +3108,7 @@ and youtube-dlc:
3097
3108
  files by default. Use --mtime or --compat-options mtime-by-default
3098
3109
  to revert this.
3099
3110
 
3100
- For ease of use, a few more compat options are available:
3111
+ For convenience, there are some compat option aliases available to use:
3101
3112
 
3102
3113
  - --compat-options all: Use all compat options (Do NOT use this!)
3103
3114
  - --compat-options youtube-dl: Same as
@@ -3109,8 +3120,13 @@ For ease of use, a few more compat options are available:
3109
3120
  - --compat-options 2022: Same as
3110
3121
  --compat-options 2023,playlist-match-filter,no-external-downloader-progress,prefer-legacy-http-handler,manifest-filesize-approx
3111
3122
  - --compat-options 2023: Same as --compat-options 2024,prefer-vp9-sort
3112
- - --compat-options 2024: Same as --compat-options mtime-by-default.
3113
- Use this to enable all future compat options
3123
+ - --compat-options 2024: Same as
3124
+ --compat-options 2025,mtime-by-default
3125
+ - --compat-options 2025: Currently does nothing. Use this to enable
3126
+ all future compat options
3127
+
3128
+ Using one of the yearly compat option aliases will pin yt-dlp's default
3129
+ behavior to what it was at the end of that calendar year.
3114
3130
 
3115
3131
  The following compat options restore vulnerable behavior from before
3116
3132
  security patches:
@@ -199,6 +199,7 @@ complete --command yt-dlp --long-option max-sleep-interval --description 'Maximu
199
199
  complete --command yt-dlp --long-option sleep-subtitles --description 'Number of seconds to sleep before each subtitle download'
200
200
  complete --command yt-dlp --long-option format --short-option f --description 'Video format code, see "FORMAT SELECTION" for more details'
201
201
  complete --command yt-dlp --long-option format-sort --short-option S --description 'Sort the formats by the fields given, see "Sorting Formats" for more details'
202
+ complete --command yt-dlp --long-option format-sort-reset --description 'Disregard previous user specified sort order and reset to the default'
202
203
  complete --command yt-dlp --long-option format-sort-force --description 'Force user specified sort order to have precedence over all fields, see "Sorting Formats" for more details (Alias: --S-force)'
203
204
  complete --command yt-dlp --long-option no-format-sort-force --description 'Some fields have precedence over the user specified sort order (default)'
204
205
  complete --command yt-dlp --long-option video-multistreams --description 'Allow multiple video streams to be merged into a single file'
@@ -811,6 +811,9 @@ Video format code, see \[dq]FORMAT SELECTION\[dq] for more details
811
811
  Sort the formats by the fields given, see \[dq]Sorting Formats\[dq] for
812
812
  more details
813
813
  .TP
814
+ --format-sort-reset
815
+ Disregard previous user specified sort order and reset to the default
816
+ .TP
814
817
  --format-sort-force
815
818
  Force user specified sort order to have precedence over all fields, see
816
819
  \[dq]Sorting Formats\[dq] for more details (Alias: --S-force)
@@ -2352,6 +2355,18 @@ filesize instead.
2352
2355
  So it is generally better to use
2353
2356
  \f[V]-f best -S +size,+br,+res,+fps\f[R].
2354
2357
  .PP
2358
+ If you use the \f[V]-S\f[R]/\f[V]--format-sort\f[R] option multiple
2359
+ times, each subsequent sorting argument will be prepended to the
2360
+ previous one, and only the highest priority entry of any duplicated
2361
+ field will be preserved.
2362
+ E.g.
2363
+ \f[V]-S proto -S res\f[R] is equivalent to \f[V]-S res,proto\f[R], and
2364
+ \f[V]-S res:720,fps -S vcodec,res:1080\f[R] is equivalent to
2365
+ \f[V]-S vcodec,res:1080,fps\f[R].
2366
+ You can use \f[V]--format-sort-reset\f[R] to disregard any previously
2367
+ passed \f[V]-S\f[R]/\f[V]--format-sort\f[R] arguments and reset to the
2368
+ default order.
2369
+ .PP
2355
2370
  \f[B]Tip\f[R]: You can use the \f[V]-v -F\f[R] to see how the formats
2356
2371
  have been sorted (worst to best).
2357
2372
  .SS Format Selection examples
@@ -2701,11 +2716,11 @@ The currently available clients are \f[V]web\f[R], \f[V]web_safari\f[R],
2701
2716
  \f[V]mweb\f[R], \f[V]ios\f[R], \f[V]android\f[R],
2702
2717
  \f[V]android_sdkless\f[R], \f[V]android_vr\f[R], \f[V]tv\f[R],
2703
2718
  \f[V]tv_simply\f[R], \f[V]tv_downgraded\f[R], and \f[V]tv_embedded\f[R].
2704
- By default, \f[V]tv,android_sdkless,web\f[R] is used.
2705
- If no JavaScript runtime/engine is available, then
2706
- \f[V]android_sdkless,web_safari,web\f[R] is used.
2719
+ By default, \f[V]android_sdkless,web,web_safari\f[R] is used.
2720
+ If no JavaScript runtime/engine is available, then only
2721
+ \f[V]android_sdkless\f[R] is used.
2707
2722
  If logged-in cookies are passed to yt-dlp, then
2708
- \f[V]tv_downgraded,web_safari,web\f[R] is used for free accounts and
2723
+ \f[V]tv_downgraded,web,web_safari\f[R] is used for free accounts and
2709
2724
  \f[V]tv_downgraded,web_creator,web\f[R] is used for premium accounts.
2710
2725
  The \f[V]web_music\f[R] client is added for \f[V]music.youtube.com\f[R]
2711
2726
  URLs when logged-in cookies are used.
@@ -4071,7 +4086,7 @@ default.
4071
4086
  Use \f[V]--mtime\f[R] or \f[V]--compat-options mtime-by-default\f[R] to
4072
4087
  revert this.
4073
4088
  .PP
4074
- For ease of use, a few more compat options are available:
4089
+ For convenience, there are some compat option aliases available to use:
4075
4090
  .IP \[bu] 2
4076
4091
  \f[V]--compat-options all\f[R]: Use all compat options (\f[B]Do NOT use
4077
4092
  this!\f[R])
@@ -4092,9 +4107,15 @@ this!\f[R])
4092
4107
  \f[V]--compat-options 2024,prefer-vp9-sort\f[R]
4093
4108
  .IP \[bu] 2
4094
4109
  \f[V]--compat-options 2024\f[R]: Same as
4095
- \f[V]--compat-options mtime-by-default\f[R].
4110
+ \f[V]--compat-options 2025,mtime-by-default\f[R]
4111
+ .IP \[bu] 2
4112
+ \f[V]--compat-options 2025\f[R]: Currently does nothing.
4096
4113
  Use this to enable all future compat options
4097
4114
  .PP
4115
+ Using one of the yearly compat option aliases will pin yt-dlp\[aq]s
4116
+ default behavior to what it was at the \f[I]end\f[R] of that calendar
4117
+ year.
4118
+ .PP
4098
4119
  The following compat options restore vulnerable behavior from before
4099
4120
  security patches:
4100
4121
  .IP \[bu] 2
@@ -21,7 +21,7 @@ __yt_dlp() {
21
21
  elif [[ ${prev} == "--recode-video" ]]; then
22
22
  _arguments '*: :(mp4 flv ogg webm mkv)'
23
23
  else
24
- _arguments '*: :(--help --version --update --no-update --update-to --ignore-errors --no-abort-on-error --abort-on-error --list-extractors --extractor-descriptions --use-extractors --force-generic-extractor --default-search --ignore-config --no-config-locations --config-locations --plugin-dirs --no-plugin-dirs --js-runtimes --no-js-runtimes --remote-components --no-remote-components --flat-playlist --no-flat-playlist --live-from-start --no-live-from-start --wait-for-video --no-wait-for-video --mark-watched --no-mark-watched --no-colors --color --compat-options --alias --preset-alias --proxy --socket-timeout --source-address --impersonate --list-impersonate-targets --force-ipv4 --force-ipv6 --enable-file-urls --geo-verification-proxy --xff --geo-bypass --no-geo-bypass --geo-bypass-country --geo-bypass-ip-block --playlist-start --playlist-end --playlist-items --match-title --reject-title --min-filesize --max-filesize --date --datebefore --dateafter --min-views --max-views --match-filters --no-match-filters --break-match-filters --no-break-match-filters --no-playlist --yes-playlist --age-limit --download-archive --no-download-archive --max-downloads --break-on-existing --no-break-on-existing --break-on-reject --break-per-input --no-break-per-input --skip-playlist-after-errors --concurrent-fragments --limit-rate --throttled-rate --retries --file-access-retries --fragment-retries --retry-sleep --skip-unavailable-fragments --abort-on-unavailable-fragments --keep-fragments --no-keep-fragments --buffer-size --resize-buffer --no-resize-buffer --http-chunk-size --test --playlist-reverse --no-playlist-reverse --playlist-random --lazy-playlist --no-lazy-playlist --hls-prefer-native --hls-prefer-ffmpeg --hls-use-mpegts --no-hls-use-mpegts --download-sections --downloader --downloader-args --batch-file --no-batch-file --id --paths --output --output-na-placeholder --autonumber-size --autonumber-start --restrict-filenames --no-restrict-filenames --windows-filenames --no-windows-filenames --trim-filenames --no-overwrites --force-overwrites --no-force-overwrites --continue --no-continue --part --no-part --mtime --no-mtime --write-description --no-write-description --write-info-json --no-write-info-json --write-playlist-metafiles --no-write-playlist-metafiles --clean-info-json --no-clean-info-json --write-comments --no-write-comments --load-info-json --cookies --no-cookies --cookies-from-browser --no-cookies-from-browser --cache-dir --no-cache-dir --rm-cache-dir --write-thumbnail --no-write-thumbnail --write-all-thumbnails --list-thumbnails --write-link --write-url-link --write-webloc-link --write-desktop-link --quiet --no-quiet --no-warnings --simulate --no-simulate --ignore-no-formats-error --no-ignore-no-formats-error --skip-download --print --print-to-file --get-url --get-title --get-id --get-thumbnail --get-description --get-duration --get-filename --get-format --dump-json --dump-single-json --print-json --force-write-archive --newline --no-progress --progress --console-title --progress-template --progress-delta --verbose --dump-pages --write-pages --load-pages --print-traffic --encoding --legacy-server-connect --no-check-certificates --prefer-insecure --user-agent --referer --add-headers --bidi-workaround --sleep-requests --sleep-interval --max-sleep-interval --sleep-subtitles --format --format-sort --format-sort-force --no-format-sort-force --video-multistreams --no-video-multistreams --audio-multistreams --no-audio-multistreams --all-formats --prefer-free-formats --no-prefer-free-formats --check-formats --check-all-formats --no-check-formats --list-formats --list-formats-as-table --list-formats-old --merge-output-format --allow-unplayable-formats --no-allow-unplayable-formats --write-subs --no-write-subs --write-auto-subs --no-write-auto-subs --all-subs --list-subs --sub-format --sub-langs --username --password --twofactor --netrc --netrc-location --netrc-cmd --video-password --ap-mso --ap-username --ap-password --ap-list-mso --client-certificate --client-certificate-key --client-certificate-password --extract-audio --audio-format --audio-quality --remux-video --recode-video --postprocessor-args --keep-video --no-keep-video --post-overwrites --no-post-overwrites --embed-subs --no-embed-subs --embed-thumbnail --no-embed-thumbnail --embed-metadata --no-embed-metadata --embed-chapters --no-embed-chapters --embed-info-json --no-embed-info-json --metadata-from-title --parse-metadata --replace-in-metadata --xattrs --concat-playlist --fixup --ffmpeg-location --exec --no-exec --exec-before-download --no-exec-before-download --convert-subs --convert-thumbnails --split-chapters --no-split-chapters --remove-chapters --no-remove-chapters --force-keyframes-at-cuts --no-force-keyframes-at-cuts --use-postprocessor --sponsorblock-mark --sponsorblock-remove --sponsorblock-chapter-title --no-sponsorblock --sponsorblock-api --extractor-retries --allow-dynamic-mpd --ignore-dynamic-mpd --hls-split-discontinuity --no-hls-split-discontinuity --extractor-args)'
24
+ _arguments '*: :(--help --version --update --no-update --update-to --ignore-errors --no-abort-on-error --abort-on-error --list-extractors --extractor-descriptions --use-extractors --force-generic-extractor --default-search --ignore-config --no-config-locations --config-locations --plugin-dirs --no-plugin-dirs --js-runtimes --no-js-runtimes --remote-components --no-remote-components --flat-playlist --no-flat-playlist --live-from-start --no-live-from-start --wait-for-video --no-wait-for-video --mark-watched --no-mark-watched --no-colors --color --compat-options --alias --preset-alias --proxy --socket-timeout --source-address --impersonate --list-impersonate-targets --force-ipv4 --force-ipv6 --enable-file-urls --geo-verification-proxy --xff --geo-bypass --no-geo-bypass --geo-bypass-country --geo-bypass-ip-block --playlist-start --playlist-end --playlist-items --match-title --reject-title --min-filesize --max-filesize --date --datebefore --dateafter --min-views --max-views --match-filters --no-match-filters --break-match-filters --no-break-match-filters --no-playlist --yes-playlist --age-limit --download-archive --no-download-archive --max-downloads --break-on-existing --no-break-on-existing --break-on-reject --break-per-input --no-break-per-input --skip-playlist-after-errors --concurrent-fragments --limit-rate --throttled-rate --retries --file-access-retries --fragment-retries --retry-sleep --skip-unavailable-fragments --abort-on-unavailable-fragments --keep-fragments --no-keep-fragments --buffer-size --resize-buffer --no-resize-buffer --http-chunk-size --test --playlist-reverse --no-playlist-reverse --playlist-random --lazy-playlist --no-lazy-playlist --hls-prefer-native --hls-prefer-ffmpeg --hls-use-mpegts --no-hls-use-mpegts --download-sections --downloader --downloader-args --batch-file --no-batch-file --id --paths --output --output-na-placeholder --autonumber-size --autonumber-start --restrict-filenames --no-restrict-filenames --windows-filenames --no-windows-filenames --trim-filenames --no-overwrites --force-overwrites --no-force-overwrites --continue --no-continue --part --no-part --mtime --no-mtime --write-description --no-write-description --write-info-json --no-write-info-json --write-playlist-metafiles --no-write-playlist-metafiles --clean-info-json --no-clean-info-json --write-comments --no-write-comments --load-info-json --cookies --no-cookies --cookies-from-browser --no-cookies-from-browser --cache-dir --no-cache-dir --rm-cache-dir --write-thumbnail --no-write-thumbnail --write-all-thumbnails --list-thumbnails --write-link --write-url-link --write-webloc-link --write-desktop-link --quiet --no-quiet --no-warnings --simulate --no-simulate --ignore-no-formats-error --no-ignore-no-formats-error --skip-download --print --print-to-file --get-url --get-title --get-id --get-thumbnail --get-description --get-duration --get-filename --get-format --dump-json --dump-single-json --print-json --force-write-archive --newline --no-progress --progress --console-title --progress-template --progress-delta --verbose --dump-pages --write-pages --load-pages --print-traffic --encoding --legacy-server-connect --no-check-certificates --prefer-insecure --user-agent --referer --add-headers --bidi-workaround --sleep-requests --sleep-interval --max-sleep-interval --sleep-subtitles --format --format-sort --format-sort-reset --format-sort-force --no-format-sort-force --video-multistreams --no-video-multistreams --audio-multistreams --no-audio-multistreams --all-formats --prefer-free-formats --no-prefer-free-formats --check-formats --check-all-formats --no-check-formats --list-formats --list-formats-as-table --list-formats-old --merge-output-format --allow-unplayable-formats --no-allow-unplayable-formats --write-subs --no-write-subs --write-auto-subs --no-write-auto-subs --all-subs --list-subs --sub-format --sub-langs --username --password --twofactor --netrc --netrc-location --netrc-cmd --video-password --ap-mso --ap-username --ap-password --ap-list-mso --client-certificate --client-certificate-key --client-certificate-password --extract-audio --audio-format --audio-quality --remux-video --recode-video --postprocessor-args --keep-video --no-keep-video --post-overwrites --no-post-overwrites --embed-subs --no-embed-subs --embed-thumbnail --no-embed-thumbnail --embed-metadata --no-embed-metadata --embed-chapters --no-embed-chapters --embed-info-json --no-embed-info-json --metadata-from-title --parse-metadata --replace-in-metadata --xattrs --concat-playlist --fixup --ffmpeg-location --exec --no-exec --exec-before-download --no-exec-before-download --convert-subs --convert-thumbnails --split-chapters --no-split-chapters --remove-chapters --no-remove-chapters --force-keyframes-at-cuts --no-force-keyframes-at-cuts --use-postprocessor --sponsorblock-mark --sponsorblock-remove --sponsorblock-chapter-title --no-sponsorblock --sponsorblock-api --extractor-retries --allow-dynamic-mpd --ignore-dynamic-mpd --hls-split-discontinuity --no-hls-split-discontinuity --extractor-args)'
25
25
  fi
26
26
  ;;
27
27
  esac
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yt-dlp
3
- Version: 2026.1.16.233125.dev0
3
+ Version: 2026.1.19.233146.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
@@ -32,8 +32,11 @@ Requires-Dist: hatchling>=1.27.0; extra == 'build'
32
32
  Requires-Dist: pip; extra == 'build'
33
33
  Requires-Dist: setuptools>=71.0.2; extra == 'build'
34
34
  Requires-Dist: wheel; extra == 'build'
35
+ Provides-Extra: build-curl-cffi
36
+ Requires-Dist: curl-cffi==0.13.0; (sys_platform == 'darwin' or (sys_platform == 'linux' and platform_machine != 'armv7l')) and extra == 'build-curl-cffi'
37
+ Requires-Dist: curl-cffi==0.14.0; (sys_platform == 'win32' or (sys_platform == 'linux' and platform_machine == 'armv7l')) and extra == 'build-curl-cffi'
35
38
  Provides-Extra: curl-cffi
36
- Requires-Dist: curl-cffi!=0.6.*,!=0.7.*,!=0.8.*,!=0.9.*,<0.14,>=0.5.10; (implementation_name == 'cpython') and extra == 'curl-cffi'
39
+ Requires-Dist: curl-cffi!=0.6.*,!=0.7.*,!=0.8.*,!=0.9.*,<0.15,>=0.5.10; (implementation_name == 'cpython') and extra == 'curl-cffi'
37
40
  Provides-Extra: default
38
41
  Requires-Dist: brotli; (implementation_name == 'cpython') and extra == 'default'
39
42
  Requires-Dist: brotlicffi; (implementation_name != 'cpython') and extra == 'default'
@@ -44,6 +47,8 @@ Requires-Dist: requests<3,>=2.32.2; extra == 'default'
44
47
  Requires-Dist: urllib3<3,>=2.0.2; extra == 'default'
45
48
  Requires-Dist: websockets>=13.0; extra == 'default'
46
49
  Requires-Dist: yt-dlp-ejs==0.3.2; extra == 'default'
50
+ Provides-Extra: deno
51
+ Requires-Dist: deno>=2.6.5; extra == 'deno'
47
52
  Provides-Extra: dev
48
53
  Requires-Dist: autopep8~=2.0; extra == 'dev'
49
54
  Requires-Dist: pre-commit; extra == 'dev'
@@ -927,6 +932,8 @@ Tip: Use `CTRL`+`F` (or `Command`+`F`) to search by keywords
927
932
  for more details
928
933
  -S, --format-sort SORTORDER Sort the formats by the fields given, see
929
934
  "Sorting Formats" for more details
935
+ --format-sort-reset Disregard previous user specified sort order
936
+ and reset to the default
930
937
  --format-sort-force Force user specified sort order to have
931
938
  precedence over all fields, see "Sorting
932
939
  Formats" for more details (Alias: --S-force)
@@ -1714,6 +1721,8 @@ Note that the default for hdr is `hdr:12`; i.e. Dolby Vision is not preferred. T
1714
1721
 
1715
1722
  If your format selector is `worst`, the last item is selected after sorting. This means it will select the format that is worst in all respects. Most of the time, what you actually want is the video with the smallest filesize instead. So it is generally better to use `-f best -S +size,+br,+res,+fps`.
1716
1723
 
1724
+ If you use the `-S`/`--format-sort` option multiple times, each subsequent sorting argument will be prepended to the previous one, and only the highest priority entry of any duplicated field will be preserved. E.g. `-S proto -S res` is equivalent to `-S res,proto`, and `-S res:720,fps -S vcodec,res:1080` is equivalent to `-S vcodec,res:1080,fps`. You can use `--format-sort-reset` to disregard any previously passed `-S`/`--format-sort` arguments and reset to the default order.
1725
+
1717
1726
  **Tip**: You can use the `-v -F` to see how the formats have been sorted (worst to best).
1718
1727
 
1719
1728
  ## Format Selection examples
@@ -1925,7 +1934,7 @@ The following extractors use this feature:
1925
1934
  #### youtube
1926
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
1927
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
1928
- * `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_sdkless`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `tv,android_sdkless,web` is used. If no JavaScript runtime/engine is available, then `android_sdkless,web_safari,web` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web_safari,web` 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_sdkless`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `android_sdkless,web,web_safari` is used. If no JavaScript runtime/engine is available, then only `android_sdkless` 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`
1929
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
1930
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
1931
1940
  * `player_params`: YouTube player parameters to use for player requests. Will overwrite any default ones set by yt-dlp.
@@ -2403,7 +2412,7 @@ Some of yt-dlp's default options are different from that of youtube-dl and youtu
2403
2412
  * Passing `--simulate` (or calling `extract_info` with `download=False`) no longer alters the default format selection. See [#9843](https://github.com/yt-dlp/yt-dlp/issues/9843) for details.
2404
2413
  * yt-dlp no longer applies the server modified time to downloaded files by default. Use `--mtime` or `--compat-options mtime-by-default` to revert this.
2405
2414
 
2406
- For ease of use, a few more compat options are available:
2415
+ For convenience, there are some compat option aliases available to use:
2407
2416
 
2408
2417
  * `--compat-options all`: Use all compat options (**Do NOT use this!**)
2409
2418
  * `--compat-options youtube-dl`: Same as `--compat-options all,-multistreams,-playlist-match-filter,-manifest-filesize-approx,-allow-unsafe-ext,-prefer-vp9-sort`
@@ -2411,7 +2420,10 @@ For ease of use, a few more compat options are available:
2411
2420
  * `--compat-options 2021`: Same as `--compat-options 2022,no-certifi,filename-sanitization`
2412
2421
  * `--compat-options 2022`: Same as `--compat-options 2023,playlist-match-filter,no-external-downloader-progress,prefer-legacy-http-handler,manifest-filesize-approx`
2413
2422
  * `--compat-options 2023`: Same as `--compat-options 2024,prefer-vp9-sort`
2414
- * `--compat-options 2024`: Same as `--compat-options mtime-by-default`. Use this to enable all future compat options
2423
+ * `--compat-options 2024`: Same as `--compat-options 2025,mtime-by-default`
2424
+ * `--compat-options 2025`: Currently does nothing. Use this to enable all future compat options
2425
+
2426
+ Using one of the yearly compat option aliases will pin yt-dlp's default behavior to what it was at the *end* of that calendar year.
2415
2427
 
2416
2428
  The following compat options restore vulnerable behavior from before security patches:
2417
2429
 
@@ -7,11 +7,11 @@ yt_dlp/cookies.py,sha256=82uis_3XUCryx5ymJD57Z41ujoHU6Sz1tpS0NZ_JOS0,57877
7
7
  yt_dlp/globals.py,sha256=zVr9imhoXcXHoCtV0VArT5--EGmjO1cfOxIKu4xCzSM,1259
8
8
  yt_dlp/jsinterp.py,sha256=GfZSNQlLG8l1dKcHA216DmIq9kszszqWClqHzEUd4sk,38770
9
9
  yt_dlp/minicurses.py,sha256=fDq7vdEn25qpZeEOdDk2YkEsckFMGAbrQaZcGNt4NUo,5328
10
- yt_dlp/options.py,sha256=72Qipr6jhFUO4gUPTIJsqYeHujnZi1L1GYx1Vn5qtiM,100390
10
+ 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=OM69eimkmV_KmCEishvutDqr6EvYYOicbF44jUsmmNg,360
14
+ yt_dlp/version.py,sha256=T4kCCWhVdyd2aQeokUU24RpqHxt6uzf_V-H9u8jxtwk,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
@@ -43,7 +43,7 @@ yt_dlp/downloader/rtsp.py,sha256=LenaspFKHde5EkP52oU6jiHYxYferyyGgFPLfm6S5Hs,147
43
43
  yt_dlp/downloader/websocket.py,sha256=G39SkXEIGtUEYaP1_ODXMiZGZgIrFeb3wqlfVypcHUM,1772
44
44
  yt_dlp/downloader/youtube_live_chat.py,sha256=JLpGIUNNbuM7ZuZMY9A6X3xrRDfs3sWz4tzXLXpa1P4,10875
45
45
  yt_dlp/extractor/__init__.py,sha256=XMV5BpSWbaDXGkkI2sim_iJk7y0BpCgrDcPjwenA1Y0,1764
46
- yt_dlp/extractor/_extractors.py,sha256=IT9QTAyw7vSyFpLYbO37mbp272ApoXMoO80Z2HXUBsw,54575
46
+ yt_dlp/extractor/_extractors.py,sha256=RQDTxMvPSCFtZOD6J7EzEbKGx58v3PC-GWYDwivczwQ,54493
47
47
  yt_dlp/extractor/abc.py,sha256=rGyouEhGP6gdZlDxkYHHmdnMpaOYoQDXeRMy_JeON1I,18876
48
48
  yt_dlp/extractor/abcnews.py,sha256=STJP1ynxEOWURHQSoT-568klK6NIl7MY4KSjjUK_CAg,6326
49
49
  yt_dlp/extractor/abcotvs.py,sha256=VYLvqEeBr02xOakqx09A5p4e81Ap1Rp2yfcPpNiTu9g,4555
@@ -173,11 +173,11 @@ yt_dlp/extractor/canalc2.py,sha256=1oCfeEggyw5vw_NmFo1_LjiVA2trHchJRH-mOi8AU7M,2
173
173
  yt_dlp/extractor/canalplus.py,sha256=ptoj2TULRSTkbdZFMHWkfAg6K_zEQku53QHx00Beolg,4329
174
174
  yt_dlp/extractor/canalsurmas.py,sha256=KNwrL-xpIjevVcxkkNESNOrwJXmww-XwlMApsgKCeSg,3336
175
175
  yt_dlp/extractor/caracoltv.py,sha256=ey7Uc32LzoTdfD10N_SvE4nQD6gnkwkO-q_gjOjZB9U,5735
176
- yt_dlp/extractor/cbc.py,sha256=0hdFHPRM6_rbSdk7QZyZ8L-IS76v_5rWpPJP2_wPPho,42335
176
+ yt_dlp/extractor/cbc.py,sha256=0clVdZ92qi3v4lwmLvBvd_YeszkxPQob0VXHrhpixwI,43102
177
177
  yt_dlp/extractor/cbs.py,sha256=Ai2Fmh0pxGhtiOVTKIaMPnXaj-KfQY05TvdyK8LyjSo,11852
178
178
  yt_dlp/extractor/cbsnews.py,sha256=Ynr8w0puSM0JqOAAiBfN671y34GBQX0b5RBeMKqjshc,19081
179
179
  yt_dlp/extractor/cbssports.py,sha256=2dtedsyB9qAwNm5IuyfvHRDkUH75lqMyiZaeQNl5FmE,4883
180
- yt_dlp/extractor/ccc.py,sha256=jpOxe8Gcj9SRYUB-uc1c9zcc8o5k3e31889LXrVawA8,4032
180
+ yt_dlp/extractor/ccc.py,sha256=HlH_d2vtu3guWKN_NZefk1PVD6kIpShN3Ltuud-27W8,5000
181
181
  yt_dlp/extractor/ccma.py,sha256=JuMYCgbsQ9u19_JOaa_coE_tkdatDY0KYeuqc5Dhvd4,7050
182
182
  yt_dlp/extractor/cctv.py,sha256=MFA6GISQmiyba_eyU11x6wz-cRRCRYQ6RLEV1SbNCtM,7346
183
183
  yt_dlp/extractor/cda.py,sha256=-ASuMo0kTFj1BzbSApkiLGaLh5C_d5vBsEuLtv1sZ8o,16947
@@ -292,7 +292,7 @@ yt_dlp/extractor/europeantour.py,sha256=SjrJ4A-3suD7ujfMx6HbLV7jawl313HDRW_Z3Df-
292
292
  yt_dlp/extractor/eurosport.py,sha256=1Dbu1-syco5txazIoBmw2etZcMWbCB3AstSs-J-yfeE,9286
293
293
  yt_dlp/extractor/euscreen.py,sha256=zLKQ5l94fjJHFlE80-387Ygtp51LUXNbJPMOxX1jQJA,3372
294
294
  yt_dlp/extractor/expressen.py,sha256=APCajK9x8BcUKg1Ob-hKUjrQarPW0DgiC4RfR5BKvPs,4086
295
- yt_dlp/extractor/extractors.py,sha256=T56osbCkdWiEc5fKUdozoFuE7E-txLHBoo8nF4vhxcc,979
295
+ yt_dlp/extractor/extractors.py,sha256=U9lA0UUxAjNP2TUVuFROiRnAMzTFRcJgGmD7AAfp1Lk,1275
296
296
  yt_dlp/extractor/eyedotv.py,sha256=hxN_RST8wmkpAq7yE9eLNstFF8F-9yxarhL0Ff4teRY,2617
297
297
  yt_dlp/extractor/facebook.py,sha256=EwvmMomgrW2rNHGv2a5ySTeA2YWqKD35AiacUVTwWSY,52746
298
298
  yt_dlp/extractor/fancode.py,sha256=5g9vL3uSFkJuOGu9jA7RvNMa_JJOdsTY9tJK7MelTLI,7235
@@ -461,7 +461,7 @@ yt_dlp/extractor/la7.py,sha256=GShDLu1N0rS1bY4uIiUkznThvn7gNiwtSgmh7Rs7t08,9435
461
461
  yt_dlp/extractor/laracasts.py,sha256=PzTqAbHXiUqog-mpp2qR_rpKa-sZel4mLyzWTPkbDuc,4587
462
462
  yt_dlp/extractor/lastfm.py,sha256=OpmE-Y-2rcav2r2xaDQzX_EJiltmbbe6fO9VzkLqNWQ,4748
463
463
  yt_dlp/extractor/laxarxames.py,sha256=-YyL-5y4t2L9ptTSLXhvK-SJwvXGqv5l1HfT129zF0c,2773
464
- yt_dlp/extractor/lazy_extractors.py,sha256=tpI7xsGh5KntEGrpzi5lyj80vR5l2CTS3FwArH8udGc,814391
464
+ yt_dlp/extractor/lazy_extractors.py,sha256=Uo-3oL3iEvqvQjBtMiveSGM08RPFzS_kdOFBgP-XYzw,814391
465
465
  yt_dlp/extractor/lbry.py,sha256=gC9jRRo8wSXc1-6somhW13brAtmWGlJ5_Q0NMhZpKwk,18078
466
466
  yt_dlp/extractor/lci.py,sha256=_0XuoITIt_QFA-6eBNpDXZZfouwUWfcdHQlpAOuiLEs,2131
467
467
  yt_dlp/extractor/lcp.py,sha256=edMA8L-eJZLquDvHcSY4oFWI0C8yGgjqW1tmhhLMJ5U,2279
@@ -1061,14 +1061,14 @@ yt_dlp/extractor/zingmp3.py,sha256=KHD-f-1vUPy18Xk-_F_H_LfFR9N7-bONFYWeNRvJ1Z4,2
1061
1061
  yt_dlp/extractor/zoom.py,sha256=7FwI0aJRG3evlKmCC97Ndc7oFRrFT3LHiHye__QZ7Do,7305
1062
1062
  yt_dlp/extractor/zype.py,sha256=e3_07aMl65x-ziI5Ge_Ph_lCV4q67DnqeRq2PjIKZj4,5507
1063
1063
  yt_dlp/extractor/youtube/__init__.py,sha256=3F72z6WHXlv41giIdmmVY7Fws-bAnkiWz8Eh3A19004,1454
1064
- yt_dlp/extractor/youtube/_base.py,sha256=HlC-OeuoGS8gJhiErGJ8My_wpjYL5iCJnQpgWjrpYXI,55551
1064
+ yt_dlp/extractor/youtube/_base.py,sha256=8FeAee7rRfL4qhC10JZWmeNHj0vx3HxqoVJBJ5qMKUE,55551
1065
1065
  yt_dlp/extractor/youtube/_clip.py,sha256=__EJUrb6iUCIURupsaa-ixn51q4esfok09znrpvdD88,3073
1066
1066
  yt_dlp/extractor/youtube/_mistakes.py,sha256=bLrxlAYqdR0mTuCLoMmJHh15BHuhxfHXeQFTVBRX9Lk,2142
1067
1067
  yt_dlp/extractor/youtube/_notifications.py,sha256=1nhavzW0e2QWFAWHkfbTU4sSXNp4vUbGFygYNSgbxBE,4585
1068
1068
  yt_dlp/extractor/youtube/_redirect.py,sha256=WWWnGEkfSGBXpZFi_bWY4XcHZ8PDeK7UsndDaTYYhQg,9005
1069
1069
  yt_dlp/extractor/youtube/_search.py,sha256=E9raTPGjUD6mm81WBpT4AsaxyiTBHdNssgzeHwVeNOE,6552
1070
1070
  yt_dlp/extractor/youtube/_tab.py,sha256=MiQGWZdHENOz8Ac-OAuAgqMWJ6gC-PZKJWPDG80QY6E,115490
1071
- yt_dlp/extractor/youtube/_video.py,sha256=afy1fe-DFq6xkFHrZKDUzYPyCM50oboMDwTzWOR7Njs,213632
1071
+ yt_dlp/extractor/youtube/_video.py,sha256=iseiuuVtT2r3UglxYnYjseOWfoW1gmw0ZMorUv7UYto,214695
1072
1072
  yt_dlp/extractor/youtube/jsc/__init__.py,sha256=HaVFP8ikrLaE-ClAh39-S28WCF4S2KTRaSu7QvA28E8,289
1073
1073
  yt_dlp/extractor/youtube/jsc/_director.py,sha256=92pB-KVSs6plmE5R8gpjkZL9aeoWNR0XTnGOBXMy9go,13167
1074
1074
  yt_dlp/extractor/youtube/jsc/_registry.py,sha256=Vg9GkHKHKKPeRfUQ-XSw01mfx_2Xyodh0SJpwjawYCA,102
@@ -1095,7 +1095,7 @@ yt_dlp/extractor/youtube/pot/_builtin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCe
1095
1095
  yt_dlp/extractor/youtube/pot/_builtin/memory_cache.py,sha256=wlTaCbealxjIyqBAVHmHxEOWgxiKAgv5h4nAuesh_Iw,2496
1096
1096
  yt_dlp/extractor/youtube/pot/_builtin/webpo_cachespec.py,sha256=PARR0jecAen1VX7A-W_6-JojpB-iL-7jPBi84BafjQo,1811
1097
1097
  yt_dlp/networking/__init__.py,sha256=s8pdgISu2hNJr2EPUy1JIiWzmQJF6024jQhOyiZny08,862
1098
- yt_dlp/networking/_curlcffi.py,sha256=hL5oSB3oqAL9d_uZlq_cfrrAPoJaZxtKnW82bFqC4sw,13243
1098
+ yt_dlp/networking/_curlcffi.py,sha256=hrtziIhkmJMfvH99Kkhiz0RhN5rr0w0-fksI5juej3A,13237
1099
1099
  yt_dlp/networking/_helper.py,sha256=98BkGEycv76zwiv0EhgASzDmAtFoZZn7qoL-8eDGB5k,10019
1100
1100
  yt_dlp/networking/_requests.py,sha256=TXNODiGKizkUelCI3YVNrc5xX5jMA2teyfhddj-I0QI,15694
1101
1101
  yt_dlp/networking/_urllib.py,sha256=NFTOSV1SSDPY2Xi4a1Q3uMOQ6Jsx5eFTyvLVfI31V94,17128
@@ -1116,7 +1116,7 @@ yt_dlp/postprocessor/sponsorblock.py,sha256=McDfxOTwAmtUnD9TxmRqm9Gyf6DRW4W6bBo5
1116
1116
  yt_dlp/postprocessor/xattrpp.py,sha256=PVKZpRXvWj3lHWU8GnyzZKnELjtO7vNYqZkbpJcqZBA,3305
1117
1117
  yt_dlp/utils/__init__.py,sha256=fktzbumix8bd9Xi288JebTYkxCuNhG21qkcSno-3g_s,283
1118
1118
  yt_dlp/utils/_deprecated.py,sha256=5KjqmcPW8uIc77xkhvz1gwxBb-jBF7cwG5nI6xxHebU,1300
1119
- yt_dlp/utils/_jsruntime.py,sha256=cPLHquABqggAepWHIYlG9zgrnwjV4Le55mr8Fx71nCo,4319
1119
+ yt_dlp/utils/_jsruntime.py,sha256=l8GfHc9F2FCzZTo7Hs3YFCNcN1m0dlNh3qPMkYnhTrU,4623
1120
1120
  yt_dlp/utils/_legacy.py,sha256=hmczdkw5SELzsFcB2AUblAY9bw8gIBDuPFTBlYvXe_4,7858
1121
1121
  yt_dlp/utils/_utils.py,sha256=3ARez4w3Mv-_r3dTYA1eEF9GMx5JYzdiT2KOezcxVZo,191034
1122
1122
  yt_dlp/utils/networking.py,sha256=OFupeRqIwaw5_GYWRYums5kpy--IyhE7Rt5JkZeFLIM,8651
@@ -1124,13 +1124,13 @@ yt_dlp/utils/progress.py,sha256=t9kVvJ0oWuEqRzo9fdFbIhHUBtO_8mg348QwZ1faqLo,3261
1124
1124
  yt_dlp/utils/traversal.py,sha256=64E3RcZ56iSX50RI_HbKdDNftkETMLBaEPX791_b7yQ,18265
1125
1125
  yt_dlp/utils/jslib/__init__.py,sha256=CbdJiRA7Eh5PnjF2V4lDTcg0J0XjBMaaq0H4pCfq9Tk,87
1126
1126
  yt_dlp/utils/jslib/devalue.py,sha256=UtcQ1IEzt6HWBjB9Z_6rJMb3y2pFrbHXDNu1rrxXF1c,5583
1127
- yt_dlp-2026.1.16.233125.dev0.data/data/share/bash-completion/completions/yt-dlp,sha256=b0pb9GLseKD27CjnLE6LlhVxhfmQjmyqV6r_CRbd6ko,5989
1128
- yt_dlp-2026.1.16.233125.dev0.data/data/share/doc/yt_dlp/README.txt,sha256=AkKlzo4SvuJnf_2b22c63Fd3sBXHCVVWvgC5UwT3oko,165351
1129
- yt_dlp-2026.1.16.233125.dev0.data/data/share/fish/vendor_completions.d/yt-dlp.fish,sha256=v2WQvWvk4qKpp2-97z2ULb5Msj5dgzU6nMkS-FwSmbM,51488
1130
- yt_dlp-2026.1.16.233125.dev0.data/data/share/man/man1/yt-dlp.1,sha256=gxajtKE1RbgCtRJ604aAZjRwwHOuELlT1eUbgolpHF4,159920
1131
- yt_dlp-2026.1.16.233125.dev0.data/data/share/zsh/site-functions/_yt-dlp,sha256=pNhu8tT4ZKrksLRI2mXLqarzGGhnOlm_hkCBVhSxLzg,5985
1132
- yt_dlp-2026.1.16.233125.dev0.dist-info/METADATA,sha256=4BAjPfF0nVG02LpothdGzf0Ao8yjwiYe-chEdSdOg6E,180717
1133
- yt_dlp-2026.1.16.233125.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
1134
- yt_dlp-2026.1.16.233125.dev0.dist-info/entry_points.txt,sha256=vWfetvzYgZIwDfMW6BjCe0Cy4pmTZEXRNzxAkfYlRJA,103
1135
- yt_dlp-2026.1.16.233125.dev0.dist-info/licenses/LICENSE,sha256=fhLl30uuEsshWBuhV87SDhmGoFCN0Q0Oikq5pM-U6Fw,1211
1136
- yt_dlp-2026.1.16.233125.dev0.dist-info/RECORD,,
1127
+ yt_dlp-2026.1.19.233146.dev0.data/data/share/bash-completion/completions/yt-dlp,sha256=KKMwJ7JkH-B2rXIR9n4wAHTqn5waHyxzPtVmsMoYkDI,6009
1128
+ yt_dlp-2026.1.19.233146.dev0.data/data/share/doc/yt_dlp/README.txt,sha256=ZT_UKIUjR5lFVtB7ctKc9FBVWkmnM-cFMNDpeVSwFfg,166159
1129
+ yt_dlp-2026.1.19.233146.dev0.data/data/share/fish/vendor_completions.d/yt-dlp.fish,sha256=L0JADRod-4ew2pvmYGiDUuXFgu1Ac8msk-ackiLYHCo,51632
1130
+ yt_dlp-2026.1.19.233146.dev0.data/data/share/man/man1/yt-dlp.1,sha256=blBneUC8ngI9Qjm2w4xDUIxeRQOLw6tnwNVs02fJFNM,160804
1131
+ yt_dlp-2026.1.19.233146.dev0.data/data/share/zsh/site-functions/_yt-dlp,sha256=VsiR8Dn2RqbVSZHAqQyDtTfrc3BIBdzwgrcaJqux8kQ,6005
1132
+ yt_dlp-2026.1.19.233146.dev0.dist-info/METADATA,sha256=Ml5p4UhzxrsyJinj4O4Ax9e_gvrieI33YqRRqs5tUDA,181945
1133
+ yt_dlp-2026.1.19.233146.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
1134
+ yt_dlp-2026.1.19.233146.dev0.dist-info/entry_points.txt,sha256=vWfetvzYgZIwDfMW6BjCe0Cy4pmTZEXRNzxAkfYlRJA,103
1135
+ yt_dlp-2026.1.19.233146.dev0.dist-info/licenses/LICENSE,sha256=fhLl30uuEsshWBuhV87SDhmGoFCN0Q0Oikq5pM-U6Fw,1211
1136
+ yt_dlp-2026.1.19.233146.dev0.dist-info/RECORD,,