python3Packages.pyannote-audio: 3.4.0 -> 4.0.1

Diff: https://github.com/pyannote/pyannote-audio/compare/3.4.0...4.0.1

Changelog: https://github.com/pyannote/pyannote-audio/blob/4.0.1/CHANGELOG.md
This commit is contained in:
Gaetan Lepage
2025-11-03 12:41:44 +00:00
parent 2e6703683b
commit d75c5917ad
@@ -1,42 +1,50 @@
{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
# build-system
pyscaffold,
setuptools,
hatchling,
hatch-vcs,
# dependencies
asteroid-filterbanks,
einops,
huggingface-hub,
numpy,
omegaconf,
lightning,
matplotlib,
opentelemetry-api,
opentelemetry-exporter-otlp,
opentelemetry-sdk,
pyannote-core,
pyannote-database,
pyannote-metrics,
pyannote-pipeline,
pytorch-lightning,
pyannoteai-sdk,
pytorch-metric-learning,
rich,
semver,
safetensors,
soundfile,
speechbrain,
tensorboardx,
torch,
torch-audiomentations,
torchaudio,
torchcodec,
torchmetrics,
# optional-dependencies
hydra-core,
typer,
# tests
papermill,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "pyannote-audio";
version = "3.4.0";
version = "4.0.1";
pyproject = true;
src = fetchFromGitHub {
@@ -44,19 +52,12 @@ buildPythonPackage rec {
repo = "pyannote-audio";
tag = version;
fetchSubmodules = true;
hash = "sha256-NnwJJasObePBYWBnuVzOLFz2eqOHoOA6W5CzAEpkDV4=";
hash = "sha256-hYrwpph+Powt+AuQjKo0kkBW+5jJGfzGTILzL9j22YI=";
};
postPatch = ''
substituteInPlace setup.cfg \
--replace-fail "pyscaffold>=3.2a0,<3.3a0" "pyscaffold"
substituteInPlace requirements.txt \
--replace-fail "lightning" "pytorch-lightning"
'';
build-system = [
pyscaffold
setuptools
hatchling
hatch-vcs
];
pythonRelaxDeps = [
@@ -66,22 +67,25 @@ buildPythonPackage rec {
asteroid-filterbanks
einops
huggingface-hub
numpy
omegaconf
lightning
matplotlib
opentelemetry-api
opentelemetry-exporter-otlp
opentelemetry-sdk
pyannote-core
pyannote-database
pyannote-metrics
pyannote-pipeline
pytorch-lightning
pyannoteai-sdk
pytorch-metric-learning
rich
semver
safetensors
soundfile
speechbrain
tensorboardx
torch
torch-audiomentations
torchaudio
torchcodec
torchmetrics
];
@@ -94,6 +98,37 @@ buildPythonPackage rec {
pythonImportsCheck = [ "pyannote.audio" ];
nativeCheckInputs = [
papermill
pytestCheckHook
];
preCheck = ''
$out/bin/pyannote-audio --help
'';
disabledTests = [
# Require internet access
"test_hf_download_inference"
"test_hf_download_model"
"test_import_speechbrain_encoder_classifier"
"test_skip_aggregation"
"test_unknown_specifications_error_raised_on_non_setup_model_task"
# AttributeError: module 'torchaudio' has no attribute 'info'
# Removed in torchaudio v2.9.0
# See https://github.com/pytorch/audio/issues/3902 for context
"test_audio_resample"
];
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
# Crashes the interpreter
# - On aarch64-darwin: Trace/BPT trap: 5
# - On x86_64-darwin: Fatal Python error: Illegal instruction
"tests/inference_test.py"
"tests/test_train.py"
];
meta = {
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";