Skip to content

Drop DER scoring and the pyannote-metrics dependency#105

Merged
alexkroman merged 3 commits into
mainfrom
claude/last-release-bottle-failure-0xsnpc
Jun 12, 2026
Merged

Drop DER scoring and the pyannote-metrics dependency#105
alexkroman merged 3 commits into
mainfrom
claude/last-release-bottle-failure-0xsnpc

Conversation

@alexkroman

Copy link
Copy Markdown
Collaborator

The Homebrew bottle build failed for v0.1.1 and v0.1.2: pyannote-metrics
(the assembly eval --speaker-labels DER scorer) drags in scikit-learn →
scipy/numpy/pandas, and Homebrew's --build-bottle compiles every resource
from source (--no-binary :all:). scipy has no Fortran/OpenBLAS toolchain on
the macOS runner, so the bottle never built.

DER was the only consumer of pyannote, so remove it wholesale:

  • delete aai_cli/der.py and route assembly eval to WER-only (drop
    --speaker-labels/--collar, speaker-turn dataset loading, and the
    reference-optional path that only existed for diarization-only datasets).
  • drop pyannote-metrics from pyproject + relock (removes pyannote-core/
    -database, scikit-learn, scipy, numpy, pandas, joblib, threadpoolctl,
    sortedcontainers, six, python-dateutil, narwhals, tzdata, pyyaml).
  • prune those resources + the now-orphaned libyaml dep from the formula,
    and narrow the install probe to import jiwer.
  • update the eval/import-hygiene tests, snapshots, import-linter contracts,
    and README.

WER scoring (jiwer) is unaffected.

claude and others added 3 commits June 12, 2026 05:46
The Homebrew bottle build failed for v0.1.1 and v0.1.2: pyannote-metrics
(the `assembly eval --speaker-labels` DER scorer) drags in scikit-learn →
scipy/numpy/pandas, and Homebrew's `--build-bottle` compiles every resource
from source (`--no-binary :all:`). scipy has no Fortran/OpenBLAS toolchain on
the macOS runner, so the bottle never built.

DER was the only consumer of pyannote, so remove it wholesale:

- delete aai_cli/der.py and route `assembly eval` to WER-only (drop
  --speaker-labels/--collar, speaker-turn dataset loading, and the
  reference-optional path that only existed for diarization-only datasets).
- drop pyannote-metrics from pyproject + relock (removes pyannote-core/
  -database, scikit-learn, scipy, numpy, pandas, joblib, threadpoolctl,
  sortedcontainers, six, python-dateutil, narwhals, tzdata, pyyaml).
- prune those resources + the now-orphaned libyaml dep from the formula,
  and narrow the install probe to `import jiwer`.
- update the eval/import-hygiene tests, snapshots, import-linter contracts,
  and README.

WER scoring (jiwer) is unaffected.
cryptography is only pulled in by secretstorage, the Linux D-Bus keyring
backend — macOS uses the Keychain backend, which needs neither. Move the
cryptography resource and the openssl@3 link dependency into the on_linux
block (alongside jeepney/secretstorage) so the arm64 bottle stops compiling
cryptography from source (a Rust + OpenSSL build) for no benefit.

cffi stays top-level: sounddevice needs it on every platform for audio capture.
@alexkroman alexkroman enabled auto-merge (squash) June 12, 2026 05:53
@alexkroman alexkroman merged commit 165f847 into main Jun 12, 2026
16 checks passed
@alexkroman alexkroman deleted the claude/last-release-bottle-failure-0xsnpc branch June 12, 2026 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants