probabilistic-rs 0.6.4

Probabilistic data structures in Rust
Documentation
name: Python Tests

on:
  push:
    branches: [main, dev]
    paths:
      - 'src/**'
      - 'Cargo.toml'
      - 'pyproject.toml'
      - 'python/tests/**'
      - '.github/workflows/python.yml'
  pull_request:
    branches: [main, dev]
    paths:
      - 'src/**'
      - 'Cargo.toml'
      - 'pyproject.toml'
      - 'python/tests/**'
      - '.github/workflows/python.yml'

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.9", "3.10", "3.11", "3.12"]

    steps:
      - uses: actions/checkout@v4

      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable

      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}

      - name: Create virtualenv and install dependencies
        run: |
          python -m venv .venv
          source .venv/bin/activate
          pip install --upgrade pip
          pip install -r requirements-dev.txt

      - name: Build Python extension
        run: |
          source .venv/bin/activate
          maturin develop --no-default-features --features python

      - name: Run Python tests
        run: |
          source .venv/bin/activate
          pytest python/tests/ -v --tb=short