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