buzz/pyproject.toml
2026-08-23 16:45:02 +00:00

198 lines
5.7 KiB
TOML

[project]
name = "buzz-captions"
# Change also in Makefile and buzz/__version__.py
version = "1.4.5"
description = ""
authors = [{ name = "Chidi Williams", email = "williamschidi1@gmail.com" }]
requires-python = ">=3.13,<3.14"
readme = "README.md"
# License format change to remove warning in PyPI will cause snap not to build
license = { text = "MIT" }
dependencies = [
"sounddevice>=0.5.6,<0.6",
"humanize>=4.16.0,<5",
"PyQt6==6.11.0",
"PyQt6-Qt6==6.11.1",
"PyQt6-sip==13.12.0",
"openai>=1.14.2,<2",
"keyring>=25.7.0,<26",
"platformdirs>=4.11.3,<5",
"dataclasses-json>=0.6.4,<0.7",
"numpy>=2.5.2,<3",
"requests>=2.34.2,<3",
"yt-dlp>=2026.8.19",
"stable-ts>=2.19.1,<3",
"faster-whisper>=1.2.1,<2",
"openai-whisper==20250625",
"transformers>=5.15.1,<6",
"accelerate>=1.14.0,<2",
"peft>=0.20.0,<1",
"bitsandbytes>=0.45.0",
"polib>=1.2.0,<2",
"srt-equalizer>=0.1.10,<0.2",
# For ARM macOS (arm64) - use latest CPU-only versions from PyPI
"torch==2.8.0; sys_platform == 'darwin'",
"torchaudio==2.8.0; sys_platform == 'darwin'",
"ctranslate2>=4.6.2,<5; sys_platform == 'darwin'",
# For Linux/Windows - use CUDA versions from the pytorch index
# (routed via tool.uv.sources below to ensure CUDA 12.9 compatibility)
"torch==2.8.0; sys_platform != 'darwin'",
"torchaudio==2.8.0; sys_platform != 'darwin'",
"ctranslate2>=4.6.2,<5; sys_platform != 'darwin'",
# faster whisper need cudnn 9
"nvidia-cudnn-cu12>=9,<10; sys_platform != 'darwin'",
# CUDA runtime libraries are provided by torch dependencies, no need to specify explicitly
"darkdetect>=0.8.0,<0.9",
"dora-search>=0.1.12,<0.2",
"diffq>=0.2.4,<0.3",
"einops>=0.8.1,<0.9",
"flake8>=7.1.2,<8",
"hydra-colorlog>=1.2.0,<2",
"hydra-core>=1.3.2,<2",
"julius>=0.2.7,<0.3",
"lameenc>=1.8.1,<2",
"museval>=0.4.1,<0.5",
"mypy>=1.15.0,<2",
"openunmix>=1.3.0,<2",
"psutil>=7.2.2,<8",
"pyyaml>=6.0.3,<7",
"submitit>=1.5.4,<2",
"tqdm>=4.70.0,<5",
"treetable>=0.2.6,<0.3",
"soundfile>=0.13.1,<0.14",
"urllib3>=2.7.0,<3",
"posthog>=7.42.1",
"onnxruntime==1.20.0",
"onnx>=1.20.0", # Required for nemo-toolkit, ensures ml-dtypes is installed
"vulkan>=1.3.275.1,<2",
"hf-xet>=1.6.0,<2",
"hatchling>=1.32.0",
"cmake>=4.4.2,<5",
# nemo-toolkit-asr is NVIDIA's ASR-only split package; 2.8.0rc2 is the first
# release to unpin transformers (allows 5.x). Regular nemo-toolkit caps at
# transformers <4.58. cuda-bindings pinned <13 below to stay on CUDA 12.
"nemo-toolkit-asr[asr]==2.8.0rc2",
# nemo-toolkit-asr leaves cuda-bindings unpinned; keep it on CUDA 12 to match torch cu129
"cuda-bindings>=12.6,<13; sys_platform != 'darwin'",
"nltk>=3.10.3",
"uroman>=1.3.1.1",
"lhotse>=1.33.0",
"coverage==7.15.4",
"certifi>=2026.7.22",
"truststore>=0.10.4",
"torchcodec>=0.16.0",
"datasets>=5.0.1",
]
repository = "https://github.com/chidiwilliams/buzz"
documentation = "https://chidiwilliams.github.io/buzz/docs"
[project.scripts]
buzz = "buzz.buzz:main"
[dependency-groups]
dev = [
"autopep8>=2.3.2,<3",
"pyinstaller>=6.12.0,<7",
"pyinstaller-hooks-contrib~=2025.1",
"six>=1.16.0,<2",
"pytest>=7.1.3,<8",
"pytest-cov>=4.0.0,<5",
"pytest-qt>=4.1.0,<5",
"pytest-xvfb>=2.0.0,<3",
"pytest-mock>=3.12.0,<4",
"pytest-timeout>=2.4.0,<3",
"pylint>=2.15.5,<3",
"pre-commit>=2.20.0,<3",
"pytest-benchmark>=4.0.0,<5",
"ruff>=0.1.3,<0.2",
]
build = [
"cmake>=4.2.0,<5",
"polib>=1.2.0,<2",
# Needed to compile the ctc_forced_aligner C++ extension in-place,
# see scripts/build_ctc_forced_aligner.py
"pybind11",
"setuptools>=80.9.0",
]
[tool.uv]
index-strategy = "unsafe-best-match"
# Intel macOS (darwin/x86_64) is no longer supported: torch shipped no
# Intel-macOS wheels after 2.2.2, which in turn has no cp313 wheels.
environments = [
"sys_platform == 'linux'",
"sys_platform == 'win32'",
"sys_platform == 'darwin' and platform_machine == 'arm64'",
]
default-groups = [
"dev",
"build",
]
[tool.uv.sources]
torch = [
{ index = "PyPI", marker = "sys_platform == 'darwin'" },
{ index = "pytorch-cu129", marker = "sys_platform != 'darwin'" },
]
torchaudio = [
{ index = "PyPI", marker = "sys_platform == 'darwin'" },
{ index = "pytorch-cu129", marker = "sys_platform != 'darwin'" },
]
[[tool.uv.index]]
name = "nvidia"
url = "https://pypi.nvidia.com/"
[[tool.uv.index]]
name = "pytorch-cu129"
url = "https://download.pytorch.org/whl/cu129"
[[tool.uv.index]]
name = "PyPI"
url = "https://pypi.org/simple/"
default = true
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.sdist]
include = [
"buzz",
"buzz/whisper_cpp/*",
"buzz/locale/*/LC_MESSAGES/buzz.mo",
"demucs_repo",
"whisper_diarization",
"deepmultilingualpunctuation",
"ctc_forced_aligner",
]
[tool.hatch.build.targets.wheel]
include = [
"buzz",
"buzz/whisper_cpp/*",
"buzz/locale/*/LC_MESSAGES/buzz.mo",
"whisper_diarization",
"deepmultilingualpunctuation",
"ctc_forced_aligner",
]
# Map demucs_repo/demucs to top-level demucs/ so 'import demucs' works
sources = {"demucs_repo/demucs" = "demucs"}
[tool.hatch.build.hooks.custom]
[build-system]
requires = ["hatchling", "cmake>=4.2.0,<5", "polib>=1.2.0,<2", "pybind11", "setuptools>=80.9.0"]
build-backend = "hatchling.build"
[tool.coverage.report]
exclude_also = [
"if sys.platform == \"win32\":",
"if platform.system\\(\\) == \"Windows\":",
"if platform.system\\(\\) == \"Linux\":",
"if platform.system\\(\\) == \"Darwin\":",
]
[tool.ruff]
exclude = [
"**/whisper.cpp",
]