pyannote.audio

View on PyPIReverse Dependencies (36)

3.3.2 pyannote.audio-3.3.2-py2.py3-none-any.whl

Wheel Details

Project: pyannote.audio
Version: 3.3.2
Filename: pyannote.audio-3.3.2-py2.py3-none-any.whl
Download: [link]
Size: 898707
MD5: e002606453197c7a9ddc84420352fc97
SHA256: 599c694acd5d193215147ff82d0bf638bb191204ed502bd9fde8ff582e20aa1c
Uploaded: 2024-09-11 11:07:46 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: pyannote.audio
Version: 3.3.2
Summary: Neural building blocks for speaker diarization
Author: Hervé Bredin
Author-Email: herve.bredin[at]irit.fr
Home-Page: https://github.com/pyannote/pyannote-audio
License: mit
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering
Platform: Linux
Platform: Mac
Requires-Python: >=3.9
Requires-Dist: asteroid-filterbanks (>=0.4)
Requires-Dist: einops (>=0.6.0)
Requires-Dist: huggingface-hub (>=0.13.0)
Requires-Dist: lightning (>=2.0.1)
Requires-Dist: omegaconf (<3.0,>=2.1)
Requires-Dist: pyannote.core (>=5.0.0)
Requires-Dist: pyannote.database (>=5.0.1)
Requires-Dist: pyannote.metrics (>=3.2)
Requires-Dist: pyannote.pipeline (>=3.0.1)
Requires-Dist: pytorch-metric-learning (>=2.1.0)
Requires-Dist: rich (>=12.0.0)
Requires-Dist: semver (>=3.0.0)
Requires-Dist: soundfile (>=0.12.1)
Requires-Dist: speechbrain (>=1.0.0)
Requires-Dist: tensorboardX (>=2.6)
Requires-Dist: torch (>=2.0.0)
Requires-Dist: torch-audiomentations (>=0.11.0)
Requires-Dist: torchaudio (>=2.2.0)
Requires-Dist: torchmetrics (>=0.11.0)
Requires-Dist: hydra-core (<1.2,>=1.1); extra == "cli"
Requires-Dist: typer (<0.5.0,>=0.4.0); extra == "cli"
Requires-Dist: pre-commit (>=2.7); extra == "dev"
Requires-Dist: recommonmark (>=0.6); extra == "dev"
Requires-Dist: black (>=22.3.0); extra == "dev"
Requires-Dist: transformers (>=4.39.1); extra == "separation"
Requires-Dist: asteroid (>=0.7.0); extra == "separation"
Requires-Dist: pytest (>=6.0); extra == "testing"
Requires-Dist: pytest-cov (>=2.10); extra == "testing"
Requires-Dist: jupyter; extra == "testing"
Requires-Dist: papermill; extra == "testing"
Provides-Extra: cli
Provides-Extra: dev
Provides-Extra: separation
Provides-Extra: testing
Description-Content-Type: text/markdown
License-File: LICENSE
[Description omitted; length: 9487 characters]

WHEEL

Wheel-Version: 1.0
Generator: setuptools (74.1.2)
Root-Is-Purelib: true
Tag: py2-none-any
Tag: py3-none-any

RECORD

Path Digest Size
pyannote.audio-3.3.2-py3.12-nspkg.pth sha256=eyZmmNQrZsPg8ehOHv5ymDbANmXawyll4C7KrfNA_a0 477
pyannote/audio/__init__.py sha256=TxXX7aRvi7009-YlvEvb8fu81WaCbwzaY-2oeXcy-Jk 1391
pyannote/audio/version.py sha256=IOY8lWfhLWh82WM02f0DSVZ4QMhaCUyAJbJ_Kedsink 22
pyannote/audio/augmentation/__init__.py sha256=QjVWPHBc36u9yEDPSv8c_hQVtHI7MmCUwZGdEq5CJAw 1177
pyannote/audio/augmentation/mix.py sha256=SMRggZe7jDsEk6URrDiYTjKMT8FeBvbjFBejpnEXkLc 5044
pyannote/audio/augmentation/registry.py sha256=1ThY91ALJ5Nds6jAADNoLAsfg4frl59mTpUaiF6gkck 6310
pyannote/audio/cli/__init__.py sha256=Rq8Wa9_IanEQOjgKMs46z155lIF_-48WcbaZJJjkWIM 1173
pyannote/audio/cli/evaluate.py sha256=wncClgSj_rAIaoMGqlM0IJy0zDm8dwztf5ovO0LVFKQ 3588
pyannote/audio/cli/pretrained.py sha256=dLHmdJkN8-eGxFuMRbiQBE2TmO7MvHt8A50lLGMp8Lk 1287
pyannote/audio/cli/train.py sha256=8ZKMLke17Mo2LFm__04lfhdRLXR0OGzPzTI0r47o0Jk 6056
pyannote/audio/cli/config/hydra/default.yaml sha256=fBiyzsvU-GLe4v-orCud5PgKWu121YIpwaM9_gY-YWY 780
pyannote/audio/cli/evaluate_config/__init__.py sha256=gsundwAScAri81amXV6EnPckb_gUddRflZZyeg4KeP4 1104
pyannote/audio/cli/evaluate_config/config.yaml sha256=dkLW_ah_sUMPq2vgYUFGbznADq1K9EHwcfZBGQ8F6pQ 81
pyannote/audio/cli/evaluate_config/hydra/default.yaml sha256=jA05CbAG52SD20CvbE6_cG8CRrlC8aGcKwGZ_0Ld9RI 771
pyannote/audio/cli/lr_schedulers/CosineAnnealingWarmRestarts.py sha256=xCUvngJI1_vqOr3YqJzsMndxI_rjIgjWYNKzmcfh2FU 2194
pyannote/audio/cli/lr_schedulers/CyclicLR.py sha256=4bDq0NZVWaUTfRuWALKQxdB5PYTFvxZYGS5dvnJxycg 2259
pyannote/audio/cli/lr_schedulers/ReduceLROnPlateau.py sha256=QDxbLa8upcn-5MhHG14pVsIyBZ7XQ7Ob6zzw3gBa43w 2630
pyannote/audio/cli/lr_schedulers/__init__.py sha256=4usXbwCdoZLJ1ESzb1jGhXJZz0i-rbJHHgKeFiDZv34 1326
pyannote/audio/cli/train_config/__init__.py sha256=gsundwAScAri81amXV6EnPckb_gUddRflZZyeg4KeP4 1104
pyannote/audio/cli/train_config/config.yaml sha256=8hufnltE9VzrhY43uQyA3WtDh7c1AM3pUnaD7aRV8e8 176
pyannote/audio/cli/train_config/hydra/default.yaml sha256=5W5au9JVd01daCKNZsMktTd3r_-gARRtiHpflWsCc5w 782
pyannote/audio/cli/train_config/model/DebugEmbedding.yaml sha256=Z5KqHh9LFgeLGByTYn2ZpSCB0DzfiPkXfna1jZrAXvQ 88
pyannote/audio/cli/train_config/model/DebugSegmentation.yaml sha256=ZsoIzbahK_z0HmU01-Py_Q1kWcYEAltvKo2ZDaZs068 94
pyannote/audio/cli/train_config/model/Pretrained.yaml sha256=X1cVwFaUzA2TVWKk6gwhwlXziFfh587H7_Cr_fPKBUk 75
pyannote/audio/cli/train_config/model/PyanNet.yaml sha256=XZcvYBwWVd5GjBNHQfQ5iymiCTJG-JzHixPF9Fjq8jc 233
pyannote/audio/cli/train_config/model/SSeRiouSS.yaml sha256=daLeBGaXdXH4qmtx0PJ6taONR7tLEkaZuQwUYpdxjfA 252
pyannote/audio/cli/train_config/model/XVectorMFCC.yaml sha256=GA-u7bEAUJgNCl6h1CWZKUnrbC3dBTNbkpxWz5ZdC7w 73
pyannote/audio/cli/train_config/model/XVectorSincNet.yaml sha256=ERjH_956LTLIFyOWXbDBsUs3vVCT-5d3j00_5k81ddg 76
pyannote/audio/cli/train_config/optimizer/Adam.yaml sha256=fV7vmOpb-1x-Cjc_58FRSzfRURQQnRRwu-lSLcjfuyQ 117
pyannote/audio/cli/train_config/optimizer/AdamW.yaml sha256=saNsE1LBv4DzYnadqmscvglZXUtSVgAepNqnz140_mE 121
pyannote/audio/cli/train_config/optimizer/Adan.yaml sha256=XHdYo70OovYraoDcEPOKnDwuWC9pQiuw8AyT5StwRFc 99
pyannote/audio/cli/train_config/preprocessor/LowerTemporalResolution.yaml sha256=zSd9q0XLgaKBBWjWUwb8GnyAZw44n1I4Nc6U8Y4vtzA 104
pyannote/audio/cli/train_config/scheduler/CosineAnnealingWarmRestarts.yaml sha256=j8j0HqW8nkDVHn3MowJG6LEAi1dYB8jE2QymH11tgI8 128
pyannote/audio/cli/train_config/scheduler/CyclicLR.yaml sha256=ykkmRz_I3h-Vdh919BS_jUaA7xfARdTqrh5V_MRY628 128
pyannote/audio/cli/train_config/scheduler/ReduceLROnPlateau.yaml sha256=rCIxoxVtjWyD7xfS99DMRbVSHfQsWFXeT-alt6zh5_I 131
pyannote/audio/cli/train_config/task/MultiLabelSegmentation.yaml sha256=p58-WxWGCJyLIo424w6TY7SG23lLWoX-tmWsk0ASk3Y 178
pyannote/audio/cli/train_config/task/OverlappedSpeechDetection.yaml sha256=FDyAC8puSPcKn_JlCleqA5pBPEs5yHIeS9aQt3W8kdI 240
pyannote/audio/cli/train_config/task/SpeakerDiarization.yaml sha256=wRiv7xRD1BdF6M2zLBDIIz30ksAgLka_WMVFClT5q10 184
pyannote/audio/cli/train_config/task/SpeakerEmbedding.yaml sha256=q_mesO-OjEHgZw9AS2lxkHQxBuXQLj-y84IpQMsqI_M 237
pyannote/audio/cli/train_config/task/VoiceActivityDetection.yaml sha256=1OwESAO361aZ4HdXN7IxsRwvppThFVoZ8kdg-Kd5b6k 178
pyannote/audio/cli/train_config/trainer/default.yaml sha256=m7QWrrbElGlXI0X5YoXth7DnL4c18i2wjsQtzETAFVE 870
pyannote/audio/cli/train_config/trainer/fast_dev_run.yaml sha256=eqO8ARoQ_HtyztbDkE-OiWKuG7TLZSimAK5YaQZUvE8 74
pyannote/audio/core/__init__.py sha256=99MZFelAENijstZavCQfHKhIYJdDFh1mZvLHBuLHtNU 1099
pyannote/audio/core/callback.py sha256=fjAMQEq2HyAIAHZeBhzrayur_b2W61u2e6hvR8uEEkY 4275
pyannote/audio/core/inference.py sha256=bDRyoFiL5JOc3B62vGFr3R6ZQ1IztJU5H54h9ItP2E8 26075
pyannote/audio/core/io.py sha256=0gWXXghGcdNxDX5U_ugSXhnR0RlpuFSohcKypUNHbAw 15115
pyannote/audio/core/model.py sha256=m3oqHUdMYq_HLk55AIh-SgSMyMVImtfU-vYu3y7thLE 24547
pyannote/audio/core/pipeline.py sha256=89WQ8vVtZE280FcdNWn1vC0w4O98cys1MxBbpoHt5CY 12482
pyannote/audio/core/task.py sha256=VBtQLNKQOkI-Ev3XqPArEsbZXJ3fpfnVZGhO-8yp4Hg 32152
pyannote/audio/models/__init__.py sha256=99MZFelAENijstZavCQfHKhIYJdDFh1mZvLHBuLHtNU 1099
pyannote/audio/models/blocks/pooling.py sha256=8MuVXouc9PMn4UkpfTotmzz1TIotTLY8cGkbP4PdbYw 4620
pyannote/audio/models/blocks/sincnet.py sha256=PxUaJILD-MJmse_ZvcqylyOMUrR5KnJlJh8toGPl2t4 5702
pyannote/audio/models/embedding/__init__.py sha256=N_AvzCzXzXw2ivvYB8StE6qgTqGDUIsRwWxxaavw_4g 1436
pyannote/audio/models/embedding/debug.py sha256=LEqlfhF8WVuyj4VLgnnMOLqRn6rvR85V1K5J6JTEDLI 4520
pyannote/audio/models/embedding/xvector.py sha256=GSVWmcNh1Lf4XSZsihB--y0d9yxOYOhEb45wl7Z5BfI 10728
pyannote/audio/models/embedding/wespeaker/LICENSE.WeSpeaker sha256=rvyAGYCz2k9qUK00Rcj4hrttd2kJUlM5pVJxcVTvICo 1309
pyannote/audio/models/embedding/wespeaker/__init__.py sha256=osE6eSxQ2X96dYO2n8q9XrXvw00TdMK25XV7vPO2ITk 14569
pyannote/audio/models/embedding/wespeaker/convert.py sha256=RajAVWF73fkL6U_5WT0_Xn1OlzpDGZ6FoR3ScdIXBX4 2415
pyannote/audio/models/embedding/wespeaker/resnet.py sha256=LednPhTox01sQw4LbmzIRBV_R6w1tn_2I4yi0sVZ66k 15434
pyannote/audio/models/segmentation/PyanNet.py sha256=UIV_U2oz1ZTcjRR0nm2_zTFnceRm0LRaDz4WErwS5oI 7993
pyannote/audio/models/segmentation/SSeRiouSS.py sha256=ojL5VaF9AZsV79isWOFTrT9DE0-UUi6WYQ7Ilzyva3c 11343
pyannote/audio/models/segmentation/__init__.py sha256=gsnnPMin1L4gi5IR7DOHyf7rb93se4TF3rFIdDmjvho 1199
pyannote/audio/models/segmentation/debug.py sha256=bUdc37iznebYFnigDIL8jgV1YaJJp-j6eM8eSfelryg 5076
pyannote/audio/models/separation/ToTaToNet.py sha256=W4SvzY3oNOT6-xZiVvUe52ayoITLdHPjbv4eNHRsKpQ 12599
pyannote/audio/models/separation/__init__.py sha256=k5KSgHv5xJuNjIx0MQ2N7aWvHrd3G8CViKE8k3EPWh0 1159
pyannote/audio/pipelines/__init__.py sha256=QKpcAoamJVG__WkAgzrLDaSMDnKqGy351VThv4xH8mI 1603
pyannote/audio/pipelines/clustering.py sha256=YIB9F9CeeQKvKSAe2ma6NR036SysGobWsPouuKQifow 21400
pyannote/audio/pipelines/multilabel.py sha256=IO9Ucoll_QxRwtbv9iUlnskWVfuop5vKj-CtGyEdE7A 8581
pyannote/audio/pipelines/overlapped_speech_detection.py sha256=6btkB84nNSjj0fASmC5cH6sI1H732s2pEsj1pG6LKu0 10932
pyannote/audio/pipelines/resegmentation.py sha256=WrZgSv7Ee1031mBcndCuR5qflCyAP_MdwY2XOc6no-o 10707
pyannote/audio/pipelines/speaker_diarization.py sha256=UoXIXxYjzBo7FrnOWSLBgxJi-3o5uNJVFzcBGQhN0VA 25600
pyannote/audio/pipelines/speaker_verification.py sha256=5rn63dZ_zpy4Opwqg7UQUdXk3mLJtxjj3L94Se336MU 28702
pyannote/audio/pipelines/speech_separation.py sha256=aU7hVeiaShmUWLj0xtwqelHMj8iFl7tzUHAsBKU2ZZg 29101
pyannote/audio/pipelines/voice_activity_detection.py sha256=Ex6dGG-UVwkmTUf3UKXzOaPJPS58e9TOKa5ZN80SHrA 13835
pyannote/audio/pipelines/utils/__init__.py sha256=xBAkG5yQ74Y3azWr_JkvtVjTKXGEJsHVTQ6JwZKeybk 1583
pyannote/audio/pipelines/utils/diarization.py sha256=-kFsn5hJ2VIaGmnUCQcVK88S83R0QusdqpqsryV3VAM 8696
pyannote/audio/pipelines/utils/getter.py sha256=BVU2DFIDeBQwOqqnhocBNabyX7lpjNp3mcuHTViAKwI 6297
pyannote/audio/pipelines/utils/hook.py sha256=bFGNxSdvrjUQVU59_Y9KAaY0vBa_FkTi5FbbURuRQds 6512
pyannote/audio/pipelines/utils/oracle.py sha256=mAEz8nicJ21yMiSwGH_KFz8s9LTQ-9-zNB2S3OUmNFA 3911
pyannote/audio/sample/__init__.py sha256=QEKvMMGGJeqiZvCSWYGvL3_QYPuZGVc9H2olv44jYZI 1916
pyannote/audio/sample/sample.rttm sha256=14_mLGnY5ty7QsJq386D-syzdMWh5tmH_jf4XxwXPIc 596
pyannote/audio/sample/sample.wav sha256=wxm0q8p2exJOQUMtNk_X3wBssmu3nQkybEh9YGoTTm4 960104
pyannote/audio/tasks/__init__.py sha256=-x4lk1WEitO-fjvFRSVRXpGY8oK-OAYqUVnjcEV6Rd4 2031
pyannote/audio/tasks/embedding/__init__.py sha256=99MZFelAENijstZavCQfHKhIYJdDFh1mZvLHBuLHtNU 1099
pyannote/audio/tasks/embedding/arcface.py sha256=c0-r_kPA9Mc9d1nlVddtUXJcKL-8xluOcY4I_WuuzCA 4676
pyannote/audio/tasks/embedding/mixins.py sha256=cGQh3I3Kqx-Uj6qBsi90KQSu5kYBFKIYGyMcah9aNI0 11368
pyannote/audio/tasks/segmentation/__init__.py sha256=99MZFelAENijstZavCQfHKhIYJdDFh1mZvLHBuLHtNU 1099
pyannote/audio/tasks/segmentation/mixins.py sha256=HJuRCxM4wSEEfj0jPMNDKbqypJ1cNRYKQH5_nfSa6Xg 17191
pyannote/audio/tasks/segmentation/multilabel.py sha256=S1ngbrCWK2RC2k2e464khfVhaGBlcxOoRh943IwOw6c 15712
pyannote/audio/tasks/segmentation/overlapped_speech_detection.py sha256=8Wqcc5wb4tunonv6M-Wh6etAJZlrX6192TkLgGBlP5o 8709
pyannote/audio/tasks/segmentation/speaker_diarization.py sha256=3uAQKydgl5UMMuayr0tdlsonqOscjVstYvQ1atGTsBs 33755
pyannote/audio/tasks/segmentation/voice_activity_detection.py sha256=Y7vadhBNTJUASDhHqQVEv9BFMbmZpTSgWbq8MKEiOZI 7702
pyannote/audio/tasks/separation/PixIT.py sha256=kg28UklTMjpZbzVM9X9WM9G5cLdMUTewgZjrYUVk75A 43815
pyannote/audio/tasks/separation/__init__.py sha256=22WhwfhPyVHIGk_tFooMlsCxrr-3ko5ErPogiwq6Iac 1100
pyannote/audio/torchmetrics/__init__.py sha256=5vW8E3syldrtJdop7NM9DX6ITcPjfMDAyuoZWSHcz_k 1709
pyannote/audio/torchmetrics/audio/__init__.py sha256=p4wcU2Rhe623kqYKjpHyU_Kf5ug7aFVu5Kr6jF1jnac 1703
pyannote/audio/torchmetrics/audio/diarization_error_rate.py sha256=hYaOWfJJ8C8UZ9mOBc0M2Tr6SCYbqUvu2kvijiTGv7g 8518
pyannote/audio/torchmetrics/classification/__init__.py sha256=AlsbiVgNspMNwsudJR9-jTKpZkV4lbMaAnncpgRT1iA 1184
pyannote/audio/torchmetrics/classification/equal_error_rate.py sha256=SJIBy-wVsd7HZ4ixTjH6fkj650c33KoLiMwzgQ2Whd4 2163
pyannote/audio/torchmetrics/functional/__init__.py sha256=3Q4lnQrBotjJchxd_50LsL_nyLoIK2sUk69-GFabWAo 1100
pyannote/audio/torchmetrics/functional/audio/__init__.py sha256=3Q4lnQrBotjJchxd_50LsL_nyLoIK2sUk69-GFabWAo 1100
pyannote/audio/torchmetrics/functional/audio/diarization_error_rate.py sha256=RVYDy2FTl2tBjTTDBlfoaOgYIv9Z6afV5VtAEncze2Q 9750
pyannote/audio/utils/__init__.py sha256=99MZFelAENijstZavCQfHKhIYJdDFh1mZvLHBuLHtNU 1099
pyannote/audio/utils/loss.py sha256=pvknBO7K9RJXkKo2ILfb9YSGzBdR3411ket2AZUPJ9M 5823
pyannote/audio/utils/metric.py sha256=PZpiixnX8GMNVIaUNrZXg6tXHyovCMCUDxQ_JSO4c0U 12345
pyannote/audio/utils/multi_task.py sha256=leNpnt4c-IAV3StdkPdAGM9nm34q3m0Wv1R7E89K9MM 2192
pyannote/audio/utils/params.py sha256=4zZUr9j7ogHXvtJNV5Vzp0BE4xVKxbO7FCafzc3lPkM 266
pyannote/audio/utils/permutation.py sha256=pg_i5SXJ2W-8FBJIuHr-asLb67tJqRiljE8cf9FPGH0 8785
pyannote/audio/utils/powerset.py sha256=ltc8Krsw5PMjlivvPc3Nx0BIpaKYMf3OjdShOwKKUrk 8189
pyannote/audio/utils/preprocessors.py sha256=2rgqt2WOG3th_09VCPbrEeTDVWSyJQ-0Whn71UBKEXI 5469
pyannote/audio/utils/preview.py sha256=-8iwSkaaEzLd_pqe1NLIxm7OugZaXPXILSbEyW9ihNg 10663
pyannote/audio/utils/probe.py sha256=o0tu6-MQKb_6gXqnZBAA-aAHvfzx2GeEftzht4KjQPM 4426
pyannote/audio/utils/protocol.py sha256=VVHo2Atgk6w8UmYFELx7G8LCq01zRRFgHHyW1lzJHWI 5203
pyannote/audio/utils/random.py sha256=nIEaU3mofymaqcMrBdl8wk-oRmteuhLhXMxLn7wwi6o 2036
pyannote/audio/utils/receptive_field.py sha256=Ah3z_CSaPFFG4V-Hl0CgygKtE_rWJpGRyDkqGtYc1Ig 4564
pyannote/audio/utils/reproducibility.py sha256=LXI4TvTtIFSQZf7yx2CTTNB__3U-BTEZGCK_2OcUovI 3427
pyannote/audio/utils/signal.py sha256=oZ8u98AvT7GHWEvEdeyBsA0pSm0O2b7R0yVjnHJoLtU 11524
pyannote/audio/utils/version.py sha256=Acrg9ZebTQ9hn1tMBVAdmkhNbfO44kEFmSFla2Dhd48 2080
pyannote.audio-3.3.2.dist-info/LICENSE sha256=o7U2RKducOKJslJxsRnAoararw23oWIl-0lP3A42wyo 1061
pyannote.audio-3.3.2.dist-info/METADATA sha256=ZZhP89o3cUZ6BKXHUNO_XzfMeamPgITvNGonrcT74_Q 11532
pyannote.audio-3.3.2.dist-info/WHEEL sha256=qUzzGenXXuJTzyjFah76kDVqDvnk-YDzY00svnrl84w 109
pyannote.audio-3.3.2.dist-info/entry_points.txt sha256=gMC-AFf7xAjhwbr5lJWTqdFJBLNBee1HoMXccVtNSBE 131
pyannote.audio-3.3.2.dist-info/namespace_packages.txt sha256=PZGlNZf0RwcK09pIk0Avi7y-FakYCLKEXHEga6cLVuM 9
pyannote.audio-3.3.2.dist-info/top_level.txt sha256=PZGlNZf0RwcK09pIk0Avi7y-FakYCLKEXHEga6cLVuM 9
pyannote.audio-3.3.2.dist-info/RECORD

top_level.txt

pyannote

entry_points.txt

pyannote-audio-eval = pyannote.audio.cli.evaluate:evaluate
pyannote-audio-train = pyannote.audio.cli.train:train

namespace_packages.txt

pyannote