[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]==2026.6.9", "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,<10.0", "pytest-rerunfailures>=14,<17", ] lint = [ "pylint==4.0.5", "ruff==0.15.16", ] docs = [ "sphinx>=7,<10", "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.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.*", ] # ruff [tool.ruff] line-length = 100 indent-width = 4 # Assume Python 3.10 target-version = "py310" [tool.ruff.lint] extend-select = ["I"] [tool.ruff.format] # Like Black, use double quotes for strings. quote-style = "double" # Like Black, indent with spaces, rather than tabs. indent-style = "space" # Like Black, respect magic trailing commas. skip-magic-trailing-comma = false # Like Black, automatically detect the appropriate line ending. line-ending = "auto"