]>
Commit | Line | Data |
---|---|---|
1 | [build-system] | |
2 | requires = ["hatchling"] | |
3 | build-backend = "hatchling.build" | |
4 | ||
5 | [project] | |
6 | name = "yt-dlp" | |
7 | maintainers = [ | |
8 | {name = "pukkandan", email = "pukkandan.ytdlp@gmail.com"}, | |
9 | {name = "Grub4K", email = "contact@grub4k.xyz"}, | |
10 | {name = "bashonly", email = "bashonly@protonmail.com"}, | |
11 | ] | |
12 | description = "A youtube-dl fork with additional features and patches" | |
13 | readme = "README.md" | |
14 | requires-python = ">=3.8" | |
15 | keywords = [ | |
16 | "youtube-dl", | |
17 | "video-downloader", | |
18 | "youtube-downloader", | |
19 | "sponsorblock", | |
20 | "youtube-dlc", | |
21 | "yt-dlp", | |
22 | ] | |
23 | license = {file = "LICENSE"} | |
24 | classifiers = [ | |
25 | "Topic :: Multimedia :: Video", | |
26 | "Development Status :: 5 - Production/Stable", | |
27 | "Environment :: Console", | |
28 | "Programming Language :: Python", | |
29 | "Programming Language :: Python :: 3 :: Only", | |
30 | "Programming Language :: Python :: 3.8", | |
31 | "Programming Language :: Python :: 3.9", | |
32 | "Programming Language :: Python :: 3.10", | |
33 | "Programming Language :: Python :: 3.11", | |
34 | "Programming Language :: Python :: 3.12", | |
35 | "Programming Language :: Python :: Implementation", | |
36 | "Programming Language :: Python :: Implementation :: CPython", | |
37 | "Programming Language :: Python :: Implementation :: PyPy", | |
38 | "License :: OSI Approved :: The Unlicense (Unlicense)", | |
39 | "Operating System :: OS Independent", | |
40 | ] | |
41 | dynamic = ["version"] | |
42 | dependencies = [ | |
43 | "brotli; implementation_name=='cpython'", | |
44 | "brotlicffi; implementation_name!='cpython'", | |
45 | "certifi", | |
46 | "mutagen", | |
47 | "pycryptodomex", | |
48 | "requests>=2.31.0,<3", | |
49 | "urllib3>=1.26.17,<3", | |
50 | "websockets>=12.0", | |
51 | ] | |
52 | ||
53 | [project.optional-dependencies] | |
54 | secretstorage = [ | |
55 | "cffi", | |
56 | "secretstorage", | |
57 | ] | |
58 | build = [ | |
59 | "build", | |
60 | "hatchling", | |
61 | "pip", | |
62 | "wheel", | |
63 | ] | |
64 | dev = [ | |
65 | "flake8", | |
66 | "isort", | |
67 | "pytest", | |
68 | ] | |
69 | pyinstaller = ["pyinstaller>=6.3"] | |
70 | py2exe = ["py2exe>=0.12"] | |
71 | ||
72 | [project.urls] | |
73 | Documentation = "https://github.com/yt-dlp/yt-dlp#readme" | |
74 | Repository = "https://github.com/yt-dlp/yt-dlp" | |
75 | Tracker = "https://github.com/yt-dlp/yt-dlp/issues" | |
76 | Funding = "https://github.com/yt-dlp/yt-dlp/blob/master/Collaborators.md#collaborators" | |
77 | ||
78 | [project.scripts] | |
79 | yt-dlp = "yt_dlp:main" | |
80 | ||
81 | [project.entry-points.pyinstaller40] | |
82 | hook-dirs = "yt_dlp.__pyinstaller:get_hook_dirs" | |
83 | ||
84 | [tool.hatch.build.targets.sdist] | |
85 | include = [ | |
86 | "/yt_dlp", | |
87 | "/devscripts", | |
88 | "/test", | |
89 | "/.gitignore", # included by default, needed for auto-excludes | |
90 | "/Changelog.md", | |
91 | "/LICENSE", # included as license | |
92 | "/pyproject.toml", # included by default | |
93 | "/README.md", # included as readme | |
94 | "/setup.cfg", | |
95 | "/supportedsites.md", | |
96 | ] | |
97 | exclude = ["/yt_dlp/__pyinstaller"] | |
98 | artifacts = [ | |
99 | "/yt_dlp/extractor/lazy_extractors.py", | |
100 | "/completions", | |
101 | "/AUTHORS", # included by default | |
102 | "/README.txt", | |
103 | "/yt-dlp.1", | |
104 | ] | |
105 | ||
106 | [tool.hatch.build.targets.wheel] | |
107 | packages = ["yt_dlp"] | |
108 | exclude = ["/yt_dlp/__pyinstaller"] | |
109 | artifacts = ["/yt_dlp/extractor/lazy_extractors.py"] | |
110 | ||
111 | [tool.hatch.build.targets.wheel.shared-data] | |
112 | "completions/bash/yt-dlp" = "share/bash-completion/completions/yt-dlp" | |
113 | "completions/zsh/_yt-dlp" = "share/zsh/site-functions/_yt-dlp" | |
114 | "completions/fish/yt-dlp.fish" = "share/fish/vendor_completions.d/yt-dlp.fish" | |
115 | "README.txt" = "share/doc/yt_dlp/README.txt" | |
116 | "yt-dlp.1" = "share/man/man1/yt-dlp.1" | |
117 | ||
118 | [tool.hatch.version] | |
119 | path = "yt_dlp/version.py" | |
120 | pattern = "_pkg_version = '(?P<version>[^']+)'" |