[project] name = "faster-whisper-server" version = "0.1.0" requires-python = ">=3.12,<3.13" dependencies = [ "pydantic==2.9.0", "fastapi==0.112.4", "uvicorn==0.30.6", "python-multipart==0.0.9", "soundfile==0.12.1", "pydantic-settings==2.4.0", "numpy<2.0.0", "faster-whisper==1.0.3", "huggingface-hub==0.24.6", "httpx-sse==0.4.0", "httpx==0.27.2", "gradio==4.42.0", "openai==1.43.1", ] [project.optional-dependencies] client = [ "keyboard==0.13.5", ] dev = [ "ruff==0.5.3", "pytest==8.3.2", "webvtt-py==0.5.1", "srt==3.5.3", "basedpyright==1.13.0", "pytest-xdist==3.6.1", "pytest-asyncio>=0.24.0", "anyio>=4.4.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