depot/third_party/nixpkgs/pkgs/development/python-modules/pyannote-audio/default.nix

88 lines
1.8 KiB
Nix
Raw Normal View History

{ lib
, buildPythonPackage
, fetchFromGitHub
, setuptools
, wheel
, asteroid-filterbanks
, einops
, huggingface-hub
, pytorch-lightning
, omegaconf
, pyannote-core
, pyannote-database
, pyannote-metrics
, pyannote-pipeline
, pytorch-metric-learning
, rich
, semver
, soundfile
, speechbrain
, tensorboardx
, torch
, torch-audiomentations
, torchaudio
, torchmetrics
, numpy
, pyscaffold
}:
buildPythonPackage rec {
pname = "pyannote-audio";
version = "3.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pyannote";
repo = "pyannote-audio";
rev = version;
hash = "sha256-BxmEJE6v+QkEaAJ2oB2LwDQIoRajv6F9SRc8lP9iRLM=";
fetchSubmodules = true;
};
nativeBuildInputs = [
pyscaffold
setuptools
wheel
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "pyscaffold>=3.2a0,<3.3a0" "pyscaffold"
substituteInPlace requirements.txt \
--replace "lightning" "pytorch-lightning"
'';
propagatedBuildInputs = [
asteroid-filterbanks
einops
huggingface-hub
omegaconf
pyannote-core
pyannote-database
pyannote-metrics
pyannote-pipeline
pytorch-metric-learning
rich
semver
soundfile
speechbrain
tensorboardx
torch
torch-audiomentations
torchaudio
torchmetrics
numpy
pytorch-lightning
];
pythonImportsCheck = [ "pyannote.audio" ];
meta = with lib; {
description = "Neural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding";
homepage = "https://github.com/pyannote/pyannote-audio";
changelog = "https://github.com/pyannote/pyannote-audio/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}