Changelog

Version 6.0.0rc1 (2025-02-10)

  • BREAKING: drop support to Python < 3.10

  • BREAKING: switch to native namespace package

  • setup: switch to uv

Version 5.1.3 (2025-01-15)

  • chore: remove deprecated use of delim_whitespace

  • chore: use importlib.metadata instead of pkg_resources

Version 5.1.0 (2024-04-05)

  • BREAKING: switch to python 3.9+ (no support for 3.12 yet)

  • feat(registry): make registry iterable (yields protocol names)

  • fix(setup): fix typer` dependency

Version 5.0.1 (2023-04-21)

  • fix: fix support for numeric values in custom protocols (e.g. channel: 0)

  • improve: do not complain about missing scope for meta protocols

Version 5.0.0 (2023-03-27)

  • feat(registry): add pyannote.database.registry to load multiple YAML configuration file

  • BREAKING: turn pyannote.database.get_{database|protocol|protocols} function into registry methods

  • BREAKING: remove support for database plugins (via “pyannote.database.database” entrypoint)

  • feat(protocol): add generic segmentation protocol with “classes” metadata

  • feat(protocol): add support for label “scope” in speaker diarization protocols

  • improve(protocol): make ProtocolFile pickable

  • feat(loader): add support for LAB and STM files

  • feat(loader): add option to filter RTTM lines by “type”

  • fix(cli): fix corner case when annotation key is missing

Version 4.1.3 (2022-02-11)

  • fix: fix corner case with missing uris in RTTM and UEM files

  • fix(CI): fix documentation deployment

Version 4.1.1 (2021-08-4)

  • fix: fix support for meta verification protocol

Version 4.1 (2021-04-07)

  • feat: make {RTTM|UEM}Loader usable as preprocessors

  • improve: remove the need for underscore prefix in database.yml

  • fix: fix ProtocolFile.__iter__ (dictionary changed size during iteration)

Version 4.0.4 (2020-12-14)

  • fix: fix ProtocolFile.__iter__ (dictionary changed size during iteration)

Version 4.0.3 (2020-10-11)

  • fix: make custom protocols pickable

Version 4.0.2 (2020-10-02)

  • feat: automagically crop “annotated” to file “duration” when available

  • fix: fix a bug in SpeakerDiarizationProtocols

  • improve: avoid loading ProtocolFile (lazy) keys in “get_unique_identifier”

Version 4.0.1 (2020-06-26)

  • feat: set “name” attribute in get_protocol

  • fix: display warning only when precomputed value is modified

Version 4.0 (2020-06-15)

  • feat: add support for custom speaker verification protocols

  • feat: add pyannote.database.loader entrypoint

  • feat: add pyannote-database CLI

  • feat: add a few dataloaders (RTTM, UEM, CTM, MAP)

  • feat: add support for nested ProtocolFile

  • doc: major documentation update (README and docstrings)

  • BREAKING: custom protocols must define a “uri” section

  • BREAKING: remove support for “preprocessors” in Database constructor

  • BREAKING: remove support for progress bars

Version 3.0.1 (2020-03-31)

  • BREAKING (feat): if a “database.yml” file exists in current working directory, it will be used even if PYANNOTE_DATABASE_CONFIG is set to another value.

  • feat: add support in FileFinder for paths relative to “database.yml”

  • BREAKING: rename “config_yml” option to “database_yml” in FileFinder

  • feat: add support in custom protocols for paths relative to “database.yml” (@PaulLerner)

  • BREAKING (feat): use “annotated” to crop “annotation” in custom protocols (@PaulLerner)

  • fix: add support for int-like protocol name in custom protocols (@PaulLerner)

Version 2.5 (2020-02-04)

  • BREAKING: refactor {current | protocol}_file_iter

  • BREAKING: only rely on “uri” to decide if a ProtocolFile contains multiple files

  • BREAKING: deprecate FileFinder.current_file_iter in favor of ProtocolFile.files

  • BREAKING: deprecate FileFinder.protocol_file_iter in favor of Protocol.files

  • fix: fix support for lazy preprocessors in {Protocol | ProtocolFile}.files

Version 2.4.3 (2020-01-24)

  • fix: fix infinite recursion in “ProtocolFile” lazy evaluation

Version 2.4.2 (2020-01-06)

  • fix: add support for int-like database name in custom protocol

Version 2.4.1 (2019-12-20)

  • fix: make ProtocolFile thread-safe

Version 2.4 (2019-12-17)

  • feat: make preprocessors lazy

  • fix: pandas would convert a label to NaN ([@PaulLerner](https://github.com/PaulLerner))

  • feat: setup continuous integration

  • setup: switch to pyannote.core 3.2

Version 2.3.1 (2019-09-04)

Version 2.3 (2019-07-19)

Version 2.2 (2019-06-26)

  • setup: switch to pyannote.core 3.0

  • feat: add RTTMLoader preprocessor

Version 2.1 (2019-04-04)

  • feat: add support for “domain” key in generic protocol

Version 2.0 (2019-03-20)

  • BREAKING: change location and format of pyannote.database configuration file

  • feat: add support for PYANNOTE_DATABASE_CONFIG environment variable

Version 1.6 (2019-03-12)

Version 1.5.5 (2018-11-30)

  • fix: fix Collection.files when progress=True

Version 1.5.4 (2018-11-14)

  • fix: skip files with no “uri” entry in FileFinder.protocol_file_iter

Version 1.5.3 (2018-11-08)

  • fix: fix broken SpeakerVerificationProtocol

Version 1.5.1 (2018-10-16)

  • fix: fix support for string preprocessors

Version 1.5 (2018-09-25)

  • BREAKING: simplify SpeakerVerificationProtocol with {subset}_trial methods

Version 1.4 (2018-07-13)

  • feat: add raw collection protocol

Version 1.3.2 (2018-05-16)

  • fix: fix regression introduced in 1.3.1

Version 1.3.1 (2018-05-11)

  • fix: fix bug in FileFinder.protocol_file_iter with empty iterators

Version 1.3 (2018-02-04)

  • feat: add extra_keys parameter to {protocol | current}_file_iter

Version 1.2.1 (2018-02-03)

  • setup: drop support for Python 2

  • feat: add protocol_file_iter and current_file_iter to FileFinder

  • feat: add get_label_identifier utility function

  • fix: fix “get_unique_identifier” when “database” or “channel” is None

Version 1.1 (2017-10-13)

  • feat: add speaker identification protocol

  • feat: add speaker verification protocols

  • feat: add support for list of uris in FileFinder

Version 1.0 (2017-10-02)

  • feat: add support for “meta” protocols

  • feat: add speaker spotting protocol

  • setup: switch to pyannote.core 1.1

Version 0.12 (2017-06-28)

  • feat: add utility functions at package root

  • doc: improve documentation

  • doc: add link to pyannote-db-template repository

Version 0.11.2 (2017-03-15)

  • fix: fix a bug with string template preprocessors

  • doc: improve documentation

Version 0.11.1 (2017-01_16)

  • feat: add ‘get_protocol’ helper function

Version 0.11 (2017-01-11)

  • feat: add support for validation on training set to speaker recognition protocols

  • feat: add ‘get_annotated’ helper function

Version 0.10.2 (2017-01-04)

  • fix: fix bug in FileFinder

Version 0.10.1 (2016-12-17)

  • improve: change signature of preprocessor.__call__

Version 0.9 (2016-12-14)

  • feat: add “get_unique_identifier” utility function

Version 0.8.1 (2016-12-12)

  • fix: fix progress bar support

Version 0.8 (2016-12-06)

  • feat: add progress bar support

Version 0.7.1 (2016-12-03)

  • fix: add ‘yield_name’ parameter to speaker recognition generators

Version 0.7 (2016-12-02)

  • feat: add speaker recognition protocol

Version 0.6.1 (2016-12-02)

  • feat: add FileFinder utility class

  • fix: fix SpeakerDiarizationProtocol.stats()

Version 0.5 (2016-12-01)

  • BREAKING: replace ‘medium_template’ by (more generic) ‘preprocessors’

Version 0.4.1 (2016-11-17)

  • fix: rename ‘speakers’ to ‘labels’ in statistics dictionary

Version 0.4 (2016-10-27)

  • feat: add a method providing global statistics about a subset

Version 0.3 (2016-09-22)

  • feat: add support for multiple media

Version 0.2 (2016-09-21)

  • feat: add support for ‘medium_template’ attribute

Version 0.1 (2016-09-20)

  • first public version