File size: 2,445 Bytes
e111d94
 
4cc0dc7
e111d94
7cd80cc
e111d94
7cd80cc
 
 
 
 
 
 
 
 
e111d94
313814b
e111d94
b995db6
7cd80cc
b995db6
 
04d664a
7cd80cc
35eafc3
81e8315
 
7cd80cc
 
 
 
 
 
b995db6
974e6f9
 
 
 
 
 
d200ef1
2393ed2
 
 
 
8ad4ca5
94c7543
8ad4ca5
16b1689
94c7543
8ad4ca5
 
 
dc4f25f
 
8ad4ca5
 
dc4f25f
 
 
 
8ad4ca5
dc4f25f
 
 
 
 
 
 
 
 
 
8ad4ca5
dc4f25f
8ad4ca5
dc4f25f
 
 
 
b995db6
 
93d8861
bf48682
8ad4ca5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9bac415
 
cf23b08
d0feed8
9bac415
7003957
 
f5d1866
 
 
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
[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 = [
    "fastapi>=0.115.0",
    "faster-whisper>=1.0.3",
    "huggingface-hub>=0.25.1",
    "numpy>=2.1.1",
    "pydantic-settings>=2.5.2",
    "pydantic>=2.9.0",
    "python-multipart>=0.0.10",
    "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.5.3",
    "srt>=3.5.3",
    "webvtt-py>=0.5.1",
]
ui = [
    "gradio>=4.44.0",
    "httpx>=0.27.2",
    "httpx-sse>=0.4.0",
    "openai>=1.48.0",
]

[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