forked from speaches-ai/speaches
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
143 lines (132 loc) · 3.65 KB
/
pyproject.toml
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
[project]
name = "faster-whisper-server"
version = "0.1.0"
requires-python = ">=3.12,<3.13"
# https://packaging.python.org/en/latest/specifications/version-specifiers/#id5
dependencies = [
"ctranslate2>=4.5.0",
"fastapi>=0.115.0",
"faster-whisper>=1.1.0",
"huggingface-hub[hf-transfer]>=0.25.1",
"numpy>=2.1.1",
"piper-phonemize ; platform_machine == 'x86_64'",
"piper-tts>=1.2.0 ; platform_machine == 'x86_64'",
"pydantic-settings>=2.5.2",
"pydantic>=2.9.0",
"python-multipart>=0.0.10",
"sounddevice>=0.5.1",
"soundfile>=0.12.1",
"uvicorn>=0.30.6",
]
[project.optional-dependencies]
client = [
"keyboard>=0.13.5",
]
dev = [
"anyio>=4.4.0",
"basedpyright>=1.18.0",
"pytest-antilru>=2.0.0",
"mkdocs-material>=9.5.39",
"mkdocstrings[python]>=0.26.1",
"pytest-asyncio>=0.24.0",
"pytest-xdist>=3.6.1",
"pytest>=8.3.3",
"ruff>=0.7.1",
"srt>=3.5.3",
"webvtt-py>=0.5.1",
"pre-commit>=4.0.1",
"pytest-mock>=3.14.0",
]
ui = [
"gradio>=5.0.2",
"httpx>=0.27.2",
"httpx-sse>=0.4.0",
"openai>=1.48.0",
]
opentelemetry = [
"opentelemetry-distro>=0.48b0",
"opentelemetry-exporter-otlp>=1.27.0",
"opentelemetry-instrumentation-asyncio==0.48b0",
"opentelemetry-instrumentation-logging==0.48b0",
"opentelemetry-instrumentation-threading==0.48b0",
"opentelemetry-instrumentation-urllib==0.48b0",
# "opentelemetry-instrumentation-wsgi==0.48b0"
"opentelemetry-instrumentation-fastapi==0.48b0",
"opentelemetry-instrumentation-grpc==0.48b0",
"opentelemetry-instrumentation-httpx==0.48b0",
"opentelemetry-instrumentation-requests==0.48b0",
"opentelemetry-instrumentation-urllib3==0.48b0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
# https://docs.astral.sh/ruff/configuration/
[tool.ruff]
line-length = 120
target-version = "py311"
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"FIX",
"TD", # disable todo warnings
"ERA", # allow commented out code
"ANN003", # missing kwargs
"ANN101", # missing self type
"B006",
"B008",
"COM812", # trailing comma
"D10", # disabled required docstrings
"D401",
"EM102",
"FBT001",
"FBT002",
"PLR0913",
"PLR2004", # magic
"RET504",
"RET505",
"RET508",
"S101", # allow assert
"S104",
"S603", # subprocess untrusted input
"SIM102",
"T201", # print
"TRY003",
"W505",
"ISC001", # recommended to disable for formatting
"INP001",
"PT018",
"G004", # logging f string
]
[tool.ruff.lint.isort]
force-sort-within-sections = true
[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"
[tool.basedpyright]
typeCheckingMode = "standard"
pythonVersion = "3.12"
pythonPlatform = "Linux"
# https://github.com/DetachHead/basedpyright?tab=readme-ov-file#pre-commit-hook
venvPath = "."
venv = ".venv"
[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "function" # this fixes pytest warning
filterwarnings = [
'ignore::DeprecationWarning'
]
# https://docs.pytest.org/en/stable/how-to/mark.html#registering-marks
markers = [
"requires_openai",
]
[tool.uv.sources]
piper-phonemize = { url = "https://github.com/fedirz/piper-phonemize/raw/refs/heads/master/dist/piper_phonemize-1.2.0-cp312-cp312-manylinux_2_28_x86_64.whl" }
[[tool.uv.dependency-metadata]]
name = "piper-tts"
version = "1.2.0"
requires-dist = ["piper-phonemize"]