-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Expand file tree
/
Copy pathpyproject.toml
More file actions
79 lines (71 loc) · 2.45 KB
/
Copy pathpyproject.toml
File metadata and controls
79 lines (71 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# 说明:
# 1. 主依赖来源统一收敛到 pyproject.toml。
# 2. 运行环境通过 uv.lock 固定,避免不同机器解析出不同版本组合。
[build-system]
requires = ["hatchling>=1.27.0"]
build-backend = "hatchling.build"
[project]
name = "moneyprinterturbo"
version = "1.3.2"
description = "Generate short videos from prompts, local assets, subtitles, and TTS."
readme = "README-en.md"
requires-python = ">=3.11"
license = { text = "MIT" }
dependencies = [
"moviepy==2.2.1",
"streamlit==1.59.1",
"streamlit-tour==1.1.0",
"edge-tts==7.2.7",
"fastapi==0.136.3",
"uvicorn==0.32.1",
"openai==2.24.0",
"faster-whisper==1.1.0",
"loguru==0.7.3",
"dashscope==1.20.14",
"azure-cognitiveservices-speech==1.41.1",
"redis==5.2.0",
"python-multipart==0.0.27",
"pyyaml==6.0.3",
"requests==2.33.1",
"packaging==24.2",
"socksio==1.0.0",
"pydub==0.25.1",
"audioop-lts==0.2.2; python_version >= '3.13'",
"litellm==1.86.2",
"google-genai==2.11.0",
]
[project.optional-dependencies]
# Optional TwelveLabs (https://twelvelabs.io) video-understanding/embedding
# integration. Only needed when `twelvelabs_api_keys` is configured; install
# with `uv sync --extra twelvelabs`.
twelvelabs = [
"twelvelabs>=1.2.8",
]
[dependency-groups]
dev = [
"coverage==7.15.1",
"pytest==9.1.1",
"ruff==0.15.21",
]
[tool.ruff.lint.per-file-ignores]
# WebUI 需要先把项目根目录加入 sys.path,随后才能导入 app 包。
"webui/Main.py" = ["E402"]
[tool.coverage.run]
# 统计分支覆盖率可以识别“代码行执行了,但条件的另一条分支从未验证”的情况,
# 比只统计行覆盖率更适合作为 CI 质量基线。CLI 和 WebUI 都属于生产入口,
# 因此与 app 服务层、服务启动入口和面向 Agent 用户发布的 Skill 脚本一起
# 纳入统计,避免覆盖率只反映局部模块。
branch = true
source = ["app", "cli", "webui", "main", "docs/skill"]
[tool.coverage.report]
# Python 3.11 和 3.13 完整测试的实测分支覆盖率均超过 70.4%。以 70%
# 作为稳定底线,可以固化失败状态、异步发布恢复和 Redis 原子更新测试,
# 同时为不同 Python 版本与操作系统的少量分支差异保留余量。
fail_under = 70
show_missing = true
skip_covered = true
[tool.hatch.build.targets.wheel]
packages = ["app"]
[tool.uv]
# 当前项目以应用运行形态为主,不作为可发布的 Python 包安装。
package = false