diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml index 2f707ba..15d660e 100644 --- a/.github/workflows/github-actions.yml +++ b/.github/workflows/github-actions.yml @@ -19,676 +19,6 @@ jobs: toxpython: 'python3.11' tox_env: 'docs' os: 'ubuntu-latest' - - name: 'py38-pure-cover (ubuntu/x86_64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-pure-cover' - cover: true - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py38-pure-cover (windows/AMD64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-pure-cover' - cover: true - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py38-pure-cover (macos/arm64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-pure-cover' - cover: true - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py38-pure-nocov (ubuntu/x86_64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-pure-nocov' - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py38-pure-nocov (windows/AMD64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-pure-nocov' - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py38-pure-nocov (macos/arm64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-pure-nocov' - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py38-cython-cover (ubuntu/x86_64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-cython-cover' - cover: true - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py38-cython-cover (windows/AMD64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-cython-cover' - cover: true - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py38-cython-cover (macos/arm64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-cython-cover' - cover: true - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py38-cython-nocov (ubuntu/x86_64/manylinux)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-cython-nocov' - cibw_arch: 'x86_64' - cibw_build: 'cp38-*manylinux*' - os: 'ubuntu-latest' - - name: 'py38-cython-nocov (ubuntu/x86_64/musllinux)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-cython-nocov' - cibw_arch: 'x86_64' - cibw_build: 'cp38-*musllinux*' - os: 'ubuntu-latest' - - name: 'py38-cython-nocov (ubuntu/aarch64/manylinux)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-cython-nocov' - cibw_arch: 'aarch64' - cibw_build: 'cp38-*manylinux*' - os: 'ubuntu-latest' - - name: 'py38-cython-nocov (ubuntu/aarch64/musllinux)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-cython-nocov' - cibw_arch: 'aarch64' - cibw_build: 'cp38-*musllinux*' - os: 'ubuntu-latest' - - name: 'py38-cython-nocov (windows/AMD64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-cython-nocov' - cibw_arch: 'AMD64' - cibw_build: 'cp38-*' - os: 'windows-latest' - - name: 'py38-cython-nocov (windows/x86)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x86' - tox_env: 'py38-cython-nocov' - cibw_arch: 'x86' - cibw_build: 'cp38-*' - os: 'windows-latest' - - name: 'py38-cython-nocov (macos/arm64)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38-cython-nocov' - cibw_arch: 'arm64' - cibw_build: 'cp38-*' - os: 'macos-latest' - - name: 'py39-pure-cover (ubuntu/x86_64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-pure-cover' - cover: true - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py39-pure-cover (windows/AMD64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-pure-cover' - cover: true - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py39-pure-cover (macos/arm64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-pure-cover' - cover: true - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py39-pure-nocov (ubuntu/x86_64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-pure-nocov' - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py39-pure-nocov (windows/AMD64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-pure-nocov' - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py39-pure-nocov (macos/arm64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-pure-nocov' - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py39-cython-cover (ubuntu/x86_64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-cython-cover' - cover: true - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py39-cython-cover (windows/AMD64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-cython-cover' - cover: true - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py39-cython-cover (macos/arm64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-cython-cover' - cover: true - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py39-cython-nocov (ubuntu/x86_64/manylinux)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-cython-nocov' - cibw_arch: 'x86_64' - cibw_build: 'cp39-*manylinux*' - os: 'ubuntu-latest' - - name: 'py39-cython-nocov (ubuntu/x86_64/musllinux)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-cython-nocov' - cibw_arch: 'x86_64' - cibw_build: 'cp39-*musllinux*' - os: 'ubuntu-latest' - - name: 'py39-cython-nocov (ubuntu/aarch64/manylinux)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-cython-nocov' - cibw_arch: 'aarch64' - cibw_build: 'cp39-*manylinux*' - os: 'ubuntu-latest' - - name: 'py39-cython-nocov (ubuntu/aarch64/musllinux)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-cython-nocov' - cibw_arch: 'aarch64' - cibw_build: 'cp39-*musllinux*' - os: 'ubuntu-latest' - - name: 'py39-cython-nocov (windows/AMD64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-cython-nocov' - cibw_arch: 'AMD64' - cibw_build: 'cp39-*' - os: 'windows-latest' - - name: 'py39-cython-nocov (windows/x86)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x86' - tox_env: 'py39-cython-nocov' - cibw_arch: 'x86' - cibw_build: 'cp39-*' - os: 'windows-latest' - - name: 'py39-cython-nocov (macos/arm64)' - python: '3.9' - toxpython: 'python3.9' - python_arch: 'x64' - tox_env: 'py39-cython-nocov' - cibw_arch: 'arm64' - cibw_build: 'cp39-*' - os: 'macos-latest' - - name: 'py310-pure-cover (ubuntu/x86_64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-pure-cover' - cover: true - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py310-pure-cover (windows/AMD64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-pure-cover' - cover: true - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py310-pure-cover (macos/arm64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-pure-cover' - cover: true - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py310-pure-nocov (ubuntu/x86_64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-pure-nocov' - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py310-pure-nocov (windows/AMD64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-pure-nocov' - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py310-pure-nocov (macos/arm64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-pure-nocov' - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py310-cython-cover (ubuntu/x86_64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-cython-cover' - cover: true - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py310-cython-cover (windows/AMD64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-cython-cover' - cover: true - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py310-cython-cover (macos/arm64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-cython-cover' - cover: true - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py310-cython-nocov (ubuntu/x86_64/manylinux)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-cython-nocov' - cibw_arch: 'x86_64' - cibw_build: 'cp310-*manylinux*' - os: 'ubuntu-latest' - - name: 'py310-cython-nocov (ubuntu/x86_64/musllinux)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-cython-nocov' - cibw_arch: 'x86_64' - cibw_build: 'cp310-*musllinux*' - os: 'ubuntu-latest' - - name: 'py310-cython-nocov (ubuntu/aarch64/manylinux)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-cython-nocov' - cibw_arch: 'aarch64' - cibw_build: 'cp310-*manylinux*' - os: 'ubuntu-latest' - - name: 'py310-cython-nocov (ubuntu/aarch64/musllinux)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-cython-nocov' - cibw_arch: 'aarch64' - cibw_build: 'cp310-*musllinux*' - os: 'ubuntu-latest' - - name: 'py310-cython-nocov (windows/AMD64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-cython-nocov' - cibw_arch: 'AMD64' - cibw_build: 'cp310-*' - os: 'windows-latest' - - name: 'py310-cython-nocov (windows/x86)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x86' - tox_env: 'py310-cython-nocov' - cibw_arch: 'x86' - cibw_build: 'cp310-*' - os: 'windows-latest' - - name: 'py310-cython-nocov (macos/arm64)' - python: '3.10' - toxpython: 'python3.10' - python_arch: 'x64' - tox_env: 'py310-cython-nocov' - cibw_arch: 'arm64' - cibw_build: 'cp310-*' - os: 'macos-latest' - - name: 'py311-pure-cover (ubuntu/x86_64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-pure-cover' - cover: true - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py311-pure-cover (windows/AMD64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-pure-cover' - cover: true - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py311-pure-cover (macos/arm64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-pure-cover' - cover: true - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py311-pure-nocov (ubuntu/x86_64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-pure-nocov' - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py311-pure-nocov (windows/AMD64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-pure-nocov' - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py311-pure-nocov (macos/arm64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-pure-nocov' - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py311-cython-cover (ubuntu/x86_64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-cython-cover' - cover: true - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py311-cython-cover (windows/AMD64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-cython-cover' - cover: true - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py311-cython-cover (macos/arm64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-cython-cover' - cover: true - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py311-cython-nocov (ubuntu/x86_64/manylinux)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-cython-nocov' - cibw_arch: 'x86_64' - cibw_build: 'cp311-*manylinux*' - os: 'ubuntu-latest' - - name: 'py311-cython-nocov (ubuntu/x86_64/musllinux)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-cython-nocov' - cibw_arch: 'x86_64' - cibw_build: 'cp311-*musllinux*' - os: 'ubuntu-latest' - - name: 'py311-cython-nocov (ubuntu/aarch64/manylinux)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-cython-nocov' - cibw_arch: 'aarch64' - cibw_build: 'cp311-*manylinux*' - os: 'ubuntu-latest' - - name: 'py311-cython-nocov (ubuntu/aarch64/musllinux)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-cython-nocov' - cibw_arch: 'aarch64' - cibw_build: 'cp311-*musllinux*' - os: 'ubuntu-latest' - - name: 'py311-cython-nocov (windows/AMD64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-cython-nocov' - cibw_arch: 'AMD64' - cibw_build: 'cp311-*' - os: 'windows-latest' - - name: 'py311-cython-nocov (windows/x86)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x86' - tox_env: 'py311-cython-nocov' - cibw_arch: 'x86' - cibw_build: 'cp311-*' - os: 'windows-latest' - - name: 'py311-cython-nocov (macos/arm64)' - python: '3.11' - toxpython: 'python3.11' - python_arch: 'x64' - tox_env: 'py311-cython-nocov' - cibw_arch: 'arm64' - cibw_build: 'cp311-*' - os: 'macos-latest' - - name: 'py312-pure-cover (ubuntu/x86_64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-pure-cover' - cover: true - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py312-pure-cover (windows/AMD64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-pure-cover' - cover: true - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py312-pure-cover (macos/arm64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-pure-cover' - cover: true - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py312-pure-nocov (ubuntu/x86_64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-pure-nocov' - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py312-pure-nocov (windows/AMD64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-pure-nocov' - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py312-pure-nocov (macos/arm64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-pure-nocov' - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py312-cython-cover (ubuntu/x86_64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-cython-cover' - cover: true - cibw_arch: 'x86_64' - cibw_build: false - os: 'ubuntu-latest' - - name: 'py312-cython-cover (windows/AMD64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-cython-cover' - cover: true - cibw_arch: 'AMD64' - cibw_build: false - os: 'windows-latest' - - name: 'py312-cython-cover (macos/arm64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-cython-cover' - cover: true - cibw_arch: 'arm64' - cibw_build: false - os: 'macos-latest' - - name: 'py312-cython-nocov (ubuntu/x86_64/manylinux)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-cython-nocov' - cibw_arch: 'x86_64' - cibw_build: 'cp312-*manylinux*' - os: 'ubuntu-latest' - - name: 'py312-cython-nocov (ubuntu/x86_64/musllinux)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-cython-nocov' - cibw_arch: 'x86_64' - cibw_build: 'cp312-*musllinux*' - os: 'ubuntu-latest' - - name: 'py312-cython-nocov (ubuntu/aarch64/manylinux)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-cython-nocov' - cibw_arch: 'aarch64' - cibw_build: 'cp312-*manylinux*' - os: 'ubuntu-latest' - - name: 'py312-cython-nocov (ubuntu/aarch64/musllinux)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-cython-nocov' - cibw_arch: 'aarch64' - cibw_build: 'cp312-*musllinux*' - os: 'ubuntu-latest' - - name: 'py312-cython-nocov (windows/AMD64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-cython-nocov' - cibw_arch: 'AMD64' - cibw_build: 'cp312-*' - os: 'windows-latest' - - name: 'py312-cython-nocov (windows/x86)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x86' - tox_env: 'py312-cython-nocov' - cibw_arch: 'x86' - cibw_build: 'cp312-*' - os: 'windows-latest' - - name: 'py312-cython-nocov (macos/arm64)' - python: '3.12' - toxpython: 'python3.12' - python_arch: 'x64' - tox_env: 'py312-cython-nocov' - cibw_arch: 'arm64' - cibw_build: 'cp312-*' - os: 'macos-latest' - name: 'pypy38-pure-cover (ubuntu/x86_64)' python: 'pypy-3.8' toxpython: 'pypy3.8' diff --git a/tox.ini b/tox.ini index b32461e..075f681 100644 --- a/tox.ini +++ b/tox.ini @@ -14,7 +14,8 @@ envlist = clean, check, docs, - {py38,py39,py310,py311,py312,pypy38,pypy39,pypy310}-{pure,cython}-{cover,nocov}, + {cpy,pypy}{38,39,310}-{pure,cython}-{cover,nocov}, + {cpy}{311,312}-{pure,cython}-{cover,nocov}, report ignore_basepython_conflict = true @@ -23,11 +24,11 @@ basepython = pypy38: {env:TOXPYTHON:pypy3.8} pypy39: {env:TOXPYTHON:pypy3.9} pypy310: {env:TOXPYTHON:pypy3.10} - py38: {env:TOXPYTHON:python3.8} - py39: {env:TOXPYTHON:python3.9} - py310: {env:TOXPYTHON:python3.10} - py311: {env:TOXPYTHON:python3.11} - py312: {env:TOXPYTHON:python3.12} + cpy38: {env:TOXPYTHON:python3.8} + cpy39: {env:TOXPYTHON:python3.9} + cpy310: {env:TOXPYTHON:python3.10} + cpy311: {env:TOXPYTHON:python3.11} + cpy312: {env:TOXPYTHON:python3.12} {bootstrap,clean,check,report,docs,codecov}: {env:TOXPYTHON:python3} setenv = PYTHONPATH={toxinidir}/tests @@ -52,7 +53,7 @@ deps = tzdata ipdb commands = - {py27,py3,py33,py34,py35,py36,py36,py37,py38,py39,py310,py311}: python tests/setup.py clean --all build_ext --force --inplace + cpy: python tests/setup.py clean --all build_ext --force --inplace cover: python setup.py clean --all build_ext --force --inplace nocov: {posargs:pytest -vv --ignore=src} cover: {posargs:pytest --cov --cov-report=term-missing -vv}