[ie/youtube] Fix tbr calculation (#9489)
[yt-dlp3.git] / pyproject.toml
blobaebbadbcbc417caf8088fd7a841a8436d6e65abb
1 [build-system]
2 requires = ["hatchling"]
3 build-backend = "hatchling.build"
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     {name = "coletdjnz", email = "coletdjnz@protonmail.com"},
13 description = "A youtube-dl fork with additional features and patches"
14 readme = "README.md"
15 requires-python = ">=3.8"
16 keywords = [
17     "youtube-dl",
18     "video-downloader",
19     "youtube-downloader",
20     "sponsorblock",
21     "youtube-dlc",
22     "yt-dlp",
24 license = {file = "LICENSE"}
25 classifiers = [
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",
42 dynamic = ["version"]
43 dependencies = [
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",
54 [project.optional-dependencies]
55 default = []
56 curl_cffi = ["curl-cffi==0.5.10; implementation_name=='cpython'"]
57 secretstorage = [
58     "cffi",
59     "secretstorage",
61 build = [
62     "build",
63     "hatchling",
64     "pip",
65     "wheel",
67 dev = [
68     "flake8",
69     "isort",
70     "pytest",
72 pyinstaller = ["pyinstaller>=6.3"]
73 pyinstaller_macos = ["pyinstaller==5.13.2"]  # needed for curl_cffi builds
74 py2exe = ["py2exe>=0.12"]
76 [project.urls]
77 Documentation = "https://github.com/yt-dlp/yt-dlp#readme"
78 Repository = "https://github.com/yt-dlp/yt-dlp"
79 Tracker = "https://github.com/yt-dlp/yt-dlp/issues"
80 Funding = "https://github.com/yt-dlp/yt-dlp/blob/master/Collaborators.md#collaborators"
82 [project.scripts]
83 yt-dlp = "yt_dlp:main"
85 [project.entry-points.pyinstaller40]
86 hook-dirs = "yt_dlp.__pyinstaller:get_hook_dirs"
88 [tool.hatch.build.targets.sdist]
89 include = [
90     "/yt_dlp",
91     "/devscripts",
92     "/test",
93     "/.gitignore",  # included by default, needed for auto-excludes
94     "/Changelog.md",
95     "/LICENSE",  # included as license
96     "/pyproject.toml",  # included by default
97     "/README.md",  # included as readme
98     "/setup.cfg",
99     "/supportedsites.md",
101 artifacts = [
102     "/yt_dlp/extractor/lazy_extractors.py",
103     "/completions",
104     "/AUTHORS",  # included by default
105     "/README.txt",
106     "/yt-dlp.1",
109 [tool.hatch.build.targets.wheel]
110 packages = ["yt_dlp"]
111 artifacts = ["/yt_dlp/extractor/lazy_extractors.py"]
113 [tool.hatch.build.targets.wheel.shared-data]
114 "completions/bash/yt-dlp" = "share/bash-completion/completions/yt-dlp"
115 "completions/zsh/_yt-dlp" = "share/zsh/site-functions/_yt-dlp"
116 "completions/fish/yt-dlp.fish" = "share/fish/vendor_completions.d/yt-dlp.fish"
117 "README.txt" = "share/doc/yt_dlp/README.txt"
118 "yt-dlp.1" = "share/man/man1/yt-dlp.1"
120 [tool.hatch.version]
121 path = "yt_dlp/version.py"
122 pattern = "_pkg_version = '(?P<version>[^']+)'"