| 1 | [project] |
| 2 | name = "video-claw-backend" |
| 3 | version = "0.1.0" |
| 4 | description = "FastAPI backend for the Video-Claw video generation workflow" |
| 5 | authors = [ |
| 6 | {name = "HITsz-TMG"} |
| 7 | ] |
| 8 | readme = "../../../README.md" |
| 9 | requires-python = ">=3.9" |
| 10 | license = {text = "MIT"} |
| 11 | dependencies = [ |
| 12 | "fastapi>=0.100.0", |
| 13 | "uvicorn>=0.23.0", |
| 14 | "pydantic>=2.0.0", |
| 15 | "python-multipart>=0.0.6", |
| 16 | "PyYAML>=6.0.0", |
| 17 | "requests>=2.28.0", |
| 18 | "httpx>=0.24.0", |
| 19 | "Pillow>=10.0.0", |
| 20 | "playwright>=1.51.0", |
| 21 | "python-docx>=1.1.0", |
| 22 | "PyPDF2", |
| 23 | "numpy>=1.24.0", |
| 24 | "openai>=1.0.0", |
| 25 | "dashscope>=1.10.0", |
| 26 | "edge-tts==7.2.7", |
| 27 | "certifi>=2025.10.5", |
| 28 | ] |
| 29 | |
| 30 | [project.optional-dependencies] |
| 31 | dev = [ |
| 32 | "pytest>=8.0.0", |
| 33 | "pytest-asyncio>=0.23.0", |
| 34 | "ruff>=0.6.0", |
| 35 | ] |
| 36 | |
| 37 | [project.scripts] |
| 38 | video-claw-api = "api_server:main" |
| 39 | |
| 40 | [tool.uv] |
| 41 | package = false |
| 42 | |
| 43 | [tool.ruff] |
| 44 | line-length = 100 |
| 45 | target-version = "py39" |
| 46 | |
| 47 | [tool.ruff.lint] |
| 48 | select = ["E", "F", "I"] |
| 49 | ignore = ["E501"] |
| 50 | |
| 51 | [tool.pytest.ini_options] |
| 52 | asyncio_mode = "auto" |
| 53 | testpaths = ["tests"] |
| 54 |