NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3543 most downloaded on PyPI
A toolkit for reproducible evaluation, diagnostic, and error analysis of speaker diarization systems
Last release 5 months ago
06 May 2026
Release timing varies
gaps range from 8 days to 2.6 years
Most releases are documented
notes for 45 of 56 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
58 releases · first in 2014
Nothing published for this version
fix: remove deprecated use of np.NaN
fix: remove deprecated use of np.NaN
BREAKING: drop support to Python < 3.10
BREAKING: switch to native namespace package
setup: switch to uv
Nothing published for this version
One column per quarter.
Nothing published for this version
fix: fix corner case for confidence interval
fix: fix corner case for confidence interval
doc: add type hinting (@hadware)
feat: add option to override existing "uri"
feat: add option to override existing "uri"
feat: add support for missing "uri"
BREAKING: remove (buggy) support for parallel processing
BREAKING: remove (buggy) support for parallel processing
fix: fix documentation deployment
setup: switch to pyannote.database 4.0+
setup: switch to pyannote.database 4.0+
feat: add DetectionCostFunction detection metric (@nryant)
feat: add DetectionCostFunction detection metric (@nryant)
BREAKING: rename pyannote-metrics.py CLI to pyannote-metrics
feat: add DetectionPrecisionRecallFMeasure compound metric (@MarvinLvn)
feat: add DetectionPrecisionRecallFMeasure compound metric (@MarvinLvn)
fix: fix corner "in f-measure" case when both precision and recall are zero (@MarvinLvn)
fix: fix a typo in documentation (@wq2012)
feat: add support for evaluation of overlapped speech detection
feat: add support for evaluation of overlapped speech detection
feat: setup continuous integration
setup: switch to pyannote.core 3.2
chore: rewrite mapping and matching routines
chore: rewrite mapping and matching routines
fix: remove buggy xarray dependency
setup: switch to pyannote.core 3.0
- fix: avoid division by zero
fix: avoid division by zero
BREAKING: drop support for all file formats but RTTM
BREAKING: drop support for all file formats but RTTM
BREAKING: drop Python 2.7 support
setup: switch to pyannote.database 2.0
setup: switch to pyannote.core 2.1
Nothing published for this version
setup: switch to pyannote.core 2.0
setup: switch to pyannote.core 2.0
feat: add compound segmentation metric SegmentationPurityCoverageFMeasure (@diego-fustes)
feat: add compound segmentation metric SegmentationPurityCoverageFMeasure (@diego-fustes)
fix: fix typo in IdentificationErrorAnalysis (@benjisympa)
feat: add option to filter out target trials in "spotting" mode
feat: add option to filter out target trials in "spotting" mode
chore: default to "parallel=False"
fix: fix Diarization{Purity | Coverage} with empty references
fix: fix Diarization{Purity | Coverage} with empty references
improve: improve support for speaker spotting experiments
chore: (temporarily?) remove parallel processing in pyannote.metrics.py
setup: drop support for Python 2
Nothing published for this version
feat: add fixed vs. variable latency switch for LLSS
feat: add fixed vs. variable latency switch for LLSS
fix: add more safety checks to pyannote-metrics.py "spotting" mode
fix: add more safety checks to pyannote-metrics.py "spotting" mode
setup: switch to pyannote.core 1.2, pyannote.database 1.1, pyannote.parser 0.7
improve: set latency of missed detections to maximum possible value
improve: set latency of missed detections to maximum possible value
improve: improve instructions in pyannote-metrics.py --help
feat: add LowLatencySpeakerSpotting metric
feat: add LowLatencySpeakerSpotting metric
feat: add "spotting" mode to pyannote-metrics.py
setup: switch to pyannote.database 1.0
Nothing published for this version
feat: add "skip_overlap" option to not evaluate overlapping speech regions
feat: add "skip_overlap" option to not evaluate overlapping speech regions
improve: bring performance improvement to diarization metrics
fix: fix a bug where collar was applied twice in DiarizationErrorRate
fix: add collar support to purity/coverage/homogeneity/completeness
fix: fix a bug happening in 'uemify' when both reference and hypothesis are empty
fix: fix a "division by zero" error in homogeneity/completeness
setup: switch to pyannote.core 1.1 (major performance improvements)
feat: add method DiarizationPurityCoverageFMeasure.compute_metrics to get purity, coverage, and their F-measure (all at once)
feat: add method DiarizationPurityCoverageFMeasure.compute_metrics to get purity, coverage, and their F-measure (all at once)
feat: add new metric 'DiarizationPurityCoverageFMeasure'
feat: add new metric 'DiarizationPurityCoverageFMeasure'
doc: update installation instructions
setup: switch to pyannote.core 1.0.4
setup: switch to pyannote.core 1.0
setup: switch to pyannote.core 1.0
feat: add score calibration for binary classification tasks
doc: update citation
doc: update notebook to latest version
doc: update notebook to latest version
- doc: add Sphinx documentation
doc: add Sphinx documentation
feat: better README and technical report
feat: better README and technical report
chore: rename SegmentationError to SegmentationErrorAnalysis
chore: rename SegmentationError to SegmentationErrorAnalysis
fix: fix DetectionErrorRate support for kwargs
feat: add "parallel" option to not use multiprocessing
feat: add "parallel" option to not use multiprocessing
feat: add "accuracy" in "detection" report
setup: switch to pyannote.core 0.13
setup: switch to pyannote.parser 0.6.5
feat: add pyannote-metrics.py evaluation script
feat: add pyannote-metrics.py evaluation script
fix: fix BaseMetric.report() for metric without a 'total' component
fix: fix (Greedy)DiarizationErrorRate uem handling
fix: fix (Greedy)DiarizationErrorRate parallel processing
setup: switch to pyannote.core 0.12
setup: update munkres & matplotlib dependencies
Nothing published for this version
Nothing published for this version
feat: support for multiprocessing
feat: support for multiprocessing
feat: add report() method
feat: travis continuous integration (finally!)
improve: speed up detection metrics
feat: add unit tests for detection metrics
fix: fix python 3 support
setup: remove dependency to pyannote.algorithms
setup: switch to pyannote.core 0.11
Nothing published for this version
feat: add pyannote.metrics.binary_classification module
feat: add pyannote.metrics.binary_classification module
fix: fix (greedy) diarization error rate
fix: fix (greedy) diarization error rate
feat: add support for 'collar' to (greedy) diarization error rate
fix: fix default "xlim" in "plot_distributions"
fix: fix default "xlim" in "plot_distributions"
setup: switch to pyannote.core 0.8 and pyannote.algorithms 0.6.6
feat: add "uem" support to diarization metrics
feat: add "uem" support to diarization metrics
Nothing published for this version
feat: add plotting functions for binary classification tasks
feat: add plotting functions for binary classification tasks
setup: update to pyannote.core 0.7.2
feat: detection accuracy
refactor: detection metrics
setup: update to pyannote.core 0.7.2
setup: update to pyannote.core 0.6.6
setup: update to pyannote.core 0.6.6
feat: greedy diarization error rate
feat: greedy diarization error rate
Nothing published for this version
- refactor: diarization metrics
refactor: diarization metrics
Nothing published for this version
fix: identification error analysis matrix confusion
fix: identification error analysis matrix confusion
feat(error): identification regression analysis
feat(error): identification regression analysis
feat: new pyannote_eval.py CLI
feat(error): segmentation error analysis
feat(error): segmentation error analysis
feat(detection): add precision and recall
feat(detection): add precision and recall
fix(identification): fix precision and recall
Nothing published for this version
feat(segmentation): add precision and recall
feat(segmentation): add precision and recall
feat(identification): add support for NIST collar
feat(error): add module for detailed error analysis
- first public version
first public version
Your coding agent can read these notes before it upgrades. Set up the MCP server →