[project] name ="ytdl-sub" dynamic = [ "version" ] authors = [ { name = "Jesse Bannon" } ] description = "Automate downloading metadata generation with YoutubeDL" readme = "README.md" requires-python = ">=3.10" license = { file = "LICENSE" } classifiers = [ "Topic :: Multimedia :: Sound/Audio", "Topic :: Multimedia :: Video", "License :: Public Domain", "Environment :: Console", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ] dependencies = [ "yt-dlp[default]==2025.10.22", "colorama~=0.4", "mergedeep~=1.3", "mediafile~=0.12", "PyYAML~=6.0", ] urls = { Homepage = "https://github.com/jmbannon/ytdl-sub" } [build-system] requires = [ "setuptools >= 67.0" ] build-backend = "setuptools.build_meta" [tool.setuptools] platforms = [ "Unix" ] [tool.setuptools.dynamic] version = { attr = "ytdl_sub.__pypi_version__" } [tool.setuptools.package-dir] "" = "src" [tool.setuptools.package-data] "*" = ["*.yaml"] [tool.setuptools.packages.find] where = ["src"] [project.optional-dependencies] test = [ "coverage[toml]>=6.3,<8.0", "pytest>=7.2,<9.0", "pytest-rerunfailures>=14,<17", ] lint = [ "black==24.10.0", "isort==7.0.0", "pylint==4.0.1", ] docs = [ "sphinx>=7,<9", "sphinx-rtd-theme>=2,<4", "sphinx-book-theme~=1.0", "sphinx-copybutton~=0.5", "sphinx_design~=0.6", ] build = [ "build~=1.2", "twine>=5,<7", "pyinstaller~=6.5", ] [project.scripts] ytdl-sub = "ytdl_sub.main:main" [tool.isort] profile = "black" line_length = 100 force_single_line = true [tool.black] line_length = 100 target-version = ["py310"] [tool.pylint.MASTER] disable = [ "C0115", # Missing class docstring "C0114", # missing-module-docstring "R0903", # too-few-public-methods "R0801", # similar lines "R0913", # Too many arguments "R0901", # too-many-ancestors "R0902", # too-many-instance-attributes "R1711", # useless-return "R0917", # too many positional arguments "W0511", # TODO ] load-plugins = "pylint.extensions.docparams" [tool.coverage.run] include = [ "src/*" ] [tool.coverage.report] exclude_also = [ "raise UNREACHABLE.*", ]