[project]
name = "DouK-Downloader"
version = "5.8"
description = "TikTok 发布/喜欢/合辑/直播/视频/图集/音乐;抖音发布/喜欢/收藏/收藏夹/视频/图集/实况/直播/音乐/合集/评论/账号/搜索/热榜数据采集工具"
authors = [
{ name = "JoeanAmier", email = "yonglelolu@foxmail.com" },
]
readme = "README.md"
license = "GPL-3.0"
requires-python = ">=3.12,<3.13"
dependencies = [
"aiofiles>=24.1.0",
"aiosqlite>=0.21.0",
"emoji>=2.14.1",
"fastapi>=0.120.3",
"gmssl>=3.2.2",
"httpx[socks]>=0.28.1",
"lxml>=5.3.1",
"openpyxl>=3.1.5",
"pydantic>=2.10.6",
"pyperclip>=1.9.0",
"rich>=13.9.4",
"rookiepy>=0.5.6",
"uvicorn>=0.34.0",
]
[project.urls]
Repository = "https://github.com/JoeanAmier/TikTokDownloader"
[tool.uv.pip]
index-url = "https://pypi.org/simple"
[tool.ruff]
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
]
line-length = 88
indent-width = 4
target-version = "py312"
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F"]
ignore = []
fixable = ["ALL"]
unfixable = []
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"
docstring-code-format = false
docstring-code-line-length = "dynamic"
[dependency-groups]
dev = [
"pytest>=8.3.5",
]