polyvoice 0.6.7

Speaker diarization for Rust — who spoke when. ONNX-powered: Silero VAD, WeSpeaker embeddings, Pyannote segmentation, K-means/AHC clustering, overlap detection.
Documentation
name: Python

on:
  push:
    branches: [master, main]
  pull_request:
    branches: [master, main]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

permissions: {}

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        python: ["3.11", "3.12", "3.13"]
    runs-on: ${{ matrix.os }}
    defaults:
      run:
        working-directory: python
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python }}
      - run: pip install maturin pytest
      - run: maturin build --release --out dist
      - name: Install wheel (unix)
        if: runner.os != 'Windows'
        run: pip install dist/*.whl
      - name: Install wheel (windows)
        if: runner.os == 'Windows'
        shell: pwsh
        run: pip install (Get-ChildItem dist/*.whl | Select-Object -First 1).FullName
      - run: pytest tests/ -v