--- id: pyannote-database version: "6.1.1" license: unclear license_treatment: unclear maintenance: aging --- # pyannote-database — Interface to multimedia databases and experimental protocols License: unclear · Maintenance: aging · Downloads: 3.0M/mo ## What it is and what it does pyannote-database is a framework for defining and iterating over multimedia datasets with reproducible experimental protocols. It models resources (audio files, video files, images, etc.) as protocol files with URIs and associated metadata, then organizes them into train, development, and test subsets via YAML configuration. The package handles lazy loading and caching of metadata through pluggable data loaders (built-in support for RTTM, UEM, and CTM formats) and allows on-the-fly augmentation via preprocessors. Typically used in speech processing and speaker analysis workflows, it abstracts away the boilerplate of managing dataset splits and file paths. You define your protocol once in YAML, load it into the registry, and iterate over resources in Python—each resource is a dict-like object with keys populated from metadata files and custom loaders. The package depends on pandas, pyannote-core, and pyyaml, and requires Python 3.10 or later. Use it for: - Organize speaker diarization datasets with train/dev/test splits and associated RTTM speaker annotations. - Load speaker verification protocols with metadata from multiple file formats (RTTM, CTM, UEM) automatically selected by suffix. - Define reproducible experimental protocols for audio segmentation tasks with lazy-loaded metadata and resource URIs. - Build custom data loaders for proprietary audio or video metadata formats and register them with the protocol system. - Iterate over multimedia resources with on-the-fly preprocessing and augmentation without modifying the underlying dataset files. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Defines and manages reproducible experimental protocols for multimedia databases (audio, video, text), organizing resources with metadata and train/dev/test splits for machine learning workflows. Yes, if you are working with speaker diarization, speaker verification, or other multimedia ML tasks and need a standardized way to define and iterate over dataset splits. The low install friction and stable dependency set make it straightforward to adopt. However, verify the license terms first (they are not declared in the package metadata), and be aware that maintenance is aging—expect no rapid updates but likely sufficient stability for established workflows. ## Install pip install pyannote-database uv add pyannote-database poetry add pyannote-database ## Installing pyannote-database Before you install: Low install friction with a pure-Python wheel and minimal dependencies (pandas, pyannote-core, pyyaml). Maintenance status is aging—last release was 250 days ago—so expect slower response to issues but likely stable for established use. License in practice: License treatment is unclear; no SPDX identifier or raw license text is available in the package metadata. Verify the actual license terms before use in proprietary or restricted contexts. Quickstart: pip install pyannote.database from pyannote.database import registry registry.load_database("/path/to/database.yml") protocol = registry.get_protocol('MyDatabase.Protocol.MyProtocol') for resource in protocol.train(): print(resource["uri"]) Requires Python 3.10 or later. YAML configuration file must be created and referenced; automatic loading checks ~/.pyannote/database.yml, ./database.yml, and PYANNOTE_DATABASE_CONFIG environment variable. Verify before relying: - Whether the package is actively maintained or in long-term stable mode despite the 250-day release gap. - What license actually governs this package (SPDX and raw license data are both missing). - Whether custom data loaders and preprocessors cover common audio/video formats beyond RTTM, UEM, and CTM. ## Package facts - License: not declared (unclear) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 3.0M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags multimedia database protocols, audio dataset experimental setup, speaker diarization data loader, reproducible ml dataset splits, rttm ctm metadata loader, protocol-based data iteration, speaker-diarization, multimedia-datasets, protocol-framework [View on SkillFed](https://skillfed.io/packages/pyannote-database) · [View on PyPI](https://pypi.org/project/pyannote-database/)