[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "youtube-cli" version = "0.1.0" description = "A command-line interface for browsing and downloading YouTube videos" readme = "README.md" requires-python = ">=3.10" authors = [ {name = "Jarian Cottingham", email = "jarianc@proton.me"}, ] license = {text = "MIT"} classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Multimedia :: Video", "Topic :: Utilities", ] dependencies = [ "yt-dlp", "rich>=13.0.0", "requests>=2.28.0", ] # dynamic = ["version"] # Removed: version is statically defined [project.scripts] youtube-cli = "youtube_cli.main:main" [project.urls] Homepage = "https://git.jarianc.com/jarianc/youtube-cli" Issues = "https://git.jarianc.com/jarianc/youtube-cli/issues" Documentation = "https://git.jarianc.com/jarianc/youtube-cli" Source = "https://git.jarianc.com/jarianc/youtube-cli" [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "pytest-cov>=4.0.0", "black>=23.0.0", "ruff>=0.1.0", "mypy>=1.0.0", "types-requests>=2.28.0", ] api = [ "Flask==2.3.3", ] [tool.uv] prerelease = "allow" [tool.setuptools] packages = ["youtube_cli"] [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" testpaths = ["tests"] python_files = ["test_*.py"] python_functions = ["test_*"] [tool.ruff] line-length = 80 target-version = "py310" [tool.ruff.lint] select = ["E", "F", "W", "I"] ignore = ["E501", "E402"] [tool.ruff.lint.per-file-ignores] "**/tests/**" = ["F401", "F841"] [tool.mypy] python_version = "3.11" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = false disallow_incomplete_defs = false check_untyped_defs = true disallow_untyped_calls = false disallow_untyped_decorators = false strict_optional = true warn_redundant_casts = true warn_unused_ignores = true warn_no_return = true no_implicit_optional = true follow_imports = "silent" ignore_missing_imports = true exclude = [ "tests/", ] [[tool.mypy.overrides]] module = "rich.*" ignore_missing_imports = true [[tool.mypy.overrides]] module = "youtube_cli.*" ignore_missing_imports = true