Skip to content

Add type hints support (#355) #136

Add type hints support (#355)

Add type hints support (#355) #136

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
CI:
name: "Linux x64 (Ubuntu 22.04) - Python ${{ matrix.python-version }}"
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
# Only test supported Python versions:
# https://endoflife.date/python
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "pypy3.9"]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install libvips
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends libvips
- name: Lint with flake8
run: |
pip install flake8
flake8 .
- name: Type check with mypy
run: |
# Pin mypy to <1.19 due to librt dependency in 1.19+
# which is not available on PyPy 3.9
pip install "mypy<1.19"
mypy pyvips/__init__.pyi --no-error-summary
mypy examples/affine.py examples/convolve.py examples/try5.py examples/watermark.py \
examples/annotate-animation.py examples/join-animation.py examples/progress.py \
--no-error-summary
- name: Install tox and any other packages
run: pip install tox
- name: Run tox
# Run tox using the version of Python in `PATH`
run: tox -e py