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)
fix: fix support for MDTM files in pyannote.database.custom.subset_iter ([#23](https://github.com/pyannote/pyannote-database/issues/23))
Version 2.3 (2019-07-19)
feat: add LabelMapper preprocessor ([@MarvinLvn](https://github.com/MarvinLvn))
chore: replace (deprecated) pandas.read_table with pandas.read_csv ([@V-assim](https://github.com/V-assim))
chore: use YAML safe loader ([@V-assim](https://github.com/V-assim))
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)
feat: add support for [file-based speaker diarization protocols](https://github.com/pyannote/pyannote-database/tree/develop#generic-speaker-diarization-protocols)
setup: switch to pyannote.core 2.1
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