youtube-dl/test
Alina Ipatina a54f74a3e3 Trim repo to a personal-use YouTube-only CLI
Removes ~147k lines of code that's not needed for downloading YouTube
videos from a source checkout on macOS.

Extractors:
- Delete 806 non-YouTube extractor modules; rewrite extractors.py to
  expose only the YouTube IE classes; drop GenericIE plumbing from
  __init__.py.

Modules removed:
- update.py + --update flag (use git pull instead)
- swfinterp.py and aes.py (no remaining importers)
- traversal.py (15-line re-export stub of utils.py functions)
- casefold.py (Py2 polyfill)
- version.py (inlined the version string)
- socks.py + all SOCKS proxy plumbing in utils.py / YoutubeDL.py
- downloader/{f4m,ism,rtmp,rtsp,niconico}.py — protocols YouTube
  doesn't use; inline the two F4M helpers common.py still references

CLI flags removed (with their __init__.py / YoutubeDL.py plumbing):
- --update / -U
- --force-generic-extractor (no GenericIE)
- --cn-verification-proxy (deprecated alias)
- --include-ads (no consumers)
- Adobe Pass: --ap-mso, --ap-username, --ap-password, --ap-list-mso

compat.py: simplified from 3886 to 408 lines by collapsing every
Py2/Py3.x try/except fallback to the Py3.12 path; deleted the 2234-
line html5 entity polyfill, the Py2.6 xpath reimplementation, and the
_workaround_optparse_bug9161 patcher.

utils.py: removed 8 dead helpers (bool_or_none, bytes_to_intlist,
decode_packed_codes, decode_png, get_element_by_id,
month_by_abbreviation, random_birthday, urlhandle_detect_ext) plus
the SOCKS-related code paths.

Repo hygiene:
- Deleted .github/ (CI + issue/PR templates), CONTRIBUTING.md, AUTHORS,
  ChangeLog, Makefile, tox.ini, MANIFEST.in, setup.py, setup.cfg,
  bin/youtube-dl, youtube-dl.plugin.zsh, docs/, devscripts/, LICENSE.
- Trimmed README.md to CLI-reference-only sections; removed dead refs
  to deleted flags / extractors / upstream URLs.
- __main__.py: dropped sys.frozen check and __package__ sys.path fixup.

Verified: 69 local tests pass (test_YoutubeDL, test_compat,
test_InfoExtractor, test_cache, test_traversal, test_utils,
test_options); python3 -m youtube_dl --version works.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 12:03:14 +02:00
..
testdata [InfoExtractor] Support byte range for DASH 2024-02-02 12:36:05 +00:00
__init__.py Add support for single-test tox runs 2013-10-12 13:17:11 -04:00
helper.py [test] Support additional args and kwargs in report_warning() mocks 2025-11-21 01:52:11 +00:00
parameters.json [test:download] Only extract enough videos for playlist_mincount 2022-02-05 02:47:21 +00:00
test_age_restriction.py [test] Fix TestAgeRestriction 2023-02-13 03:54:51 +00:00
test_cache.py Trim repo to a personal-use YouTube-only CLI 2026-04-27 12:03:14 +02:00
test_compat.py [compat] Rework compat for method parameter of compat_urllib_request.Request constructor 2024-01-22 11:10:34 +00:00
test_download.py [test] Improve download test 2024-06-11 12:52:13 +01:00
test_downloader_external.py [external/FFmpeg] Fix and improve --ffmpeg-location handling 2024-03-27 13:11:17 +00:00
test_downloader_http.py [downloader/http] Only check for resumability when actually resuming 2023-03-19 02:15:41 +00:00
test_execution.py [build] Add and use devscripts/utils 2023-07-25 13:19:43 +01:00
test_http.py [utils] Rework URL path munging for ., .. components 2023-07-29 14:27:26 +01:00
test_InfoExtractor.py [InfoExtractor] Misc yt-dlp back-ports, etc 2024-05-30 15:46:36 +01:00
test_jsinterp.py [JSInterp] Add tests and relevant functionality from yt-dlp 2025-04-08 01:59:00 +01:00
test_netrc.py Make sure netrc works for all extractors with login support 2015-03-03 12:59:17 +01:00
test_options.py [options] Typo 2017-07-23 16:24:18 +08:00
test_postprocessors.py [tests] Fix invalid escape sequences 2018-11-23 00:43:42 +07:00
test_traversal.py Trim repo to a personal-use YouTube-only CLI 2026-04-27 12:03:14 +02:00
test_unicode_literals.py [compat] Use compat_open() 2023-07-25 13:19:43 +01:00
test_utils.py [utils] Support additional codecs and dynamic_range 2025-11-21 01:52:11 +00:00
test_verbose_output.py Update coding style after pycodestyle 2.1.0 2016-11-17 19:45:42 +08:00
test_write_annotations.py [compat] Use compat_open() 2023-07-25 13:19:43 +01:00
test_youtube_lists.py Rework 2c2c2bd with an actual Mix page and realistic playlist size 2022-02-04 04:09:23 +00:00
test_youtube_misc.py [test_youtube_misc] Move YoutubeIE.extract_id test into separate module 2021-04-21 04:45:13 +07:00
test_youtube_signature.py [YouTube] Improve n-sig function extraction for player aa3fc80b 2025-05-03 00:09:21 +01:00
test_YoutubeDL.py [compat] Use compat_open() 2023-07-25 13:19:43 +01:00
test_YoutubeDLCookieJar.py [core] Process header cookies on loading 2023-07-18 10:50:46 +01:00
testcert.pem Add a test for --no-check-certificate 2015-01-30 02:57:37 +01:00
versions.json [update] fix (unexploitable) BB'06 vulnerability in rsa_verify 2016-01-21 20:12:17 +00:00