diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 112f0928..1b6a4234 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,17 +4,25 @@ on: [push, pull_request, workflow_dispatch] jobs: test: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} timeout-minutes: 10 + strategy: + matrix: + # Oldest non-EOL and newest released + # scipy-stubs does not support Python 3.9 + python-version: ["3.10", "3.13"] + # Tier 1 OSes + os: ["ubuntu-latest", "windows-latest", "macos-latest"] + fail-fast: false steps: - name: Check out code uses: actions/checkout@v2 - - name: Setup Python + - name: Setup Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: - python-version: "3.11" + python-version: ${{ matrix.python-version }} - name: Cache pip uses: actions/cache@v4 @@ -31,9 +39,10 @@ jobs: uses: jakebailey/pyright-action@v2 with: pylance-version: latest-prerelease + python-version: ${{ matrix.python-version }} - name: Run mypy tests - run: python -m mypy . + run: python -m mypy . --python-version=${{ matrix.python-version }} hygiene: runs-on: ubuntu-latest @@ -45,4 +54,5 @@ jobs: - name: Run Ruff Linter uses: astral-sh/ruff-action@v3 - - run: ruff format --check + - name: Run Ruff Formatter + run: ruff format --check diff --git a/stubs/matplotlib/_mathtext.pyi b/stubs/matplotlib/_mathtext.pyi index 11fdbd59..8ff9651a 100644 --- a/stubs/matplotlib/_mathtext.pyi +++ b/stubs/matplotlib/_mathtext.pyi @@ -1,11 +1,19 @@ import enum import functools -from tkinter.tix import HList +import sys +from _typeshed import Incomplete from typing import Literal from .font_manager import FontProperties from .mathtext import MathtextBackend +# tkinter.tix was removed from Python 3.13 +# Recent matplotlib versions define HList in this module +if sys.version_info >= (3, 13): + HList: Incomplete +else: + from tkinter.tix import HList + def get_unicode_index(symbol: str, math: bool = True) -> int: ... class Fonts: diff --git a/stubs/skimage/_shared/setup.pyi b/stubs/skimage/_shared/setup.pyi deleted file mode 100644 index ee8e7fe1..00000000 --- a/stubs/skimage/_shared/setup.pyi +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python - -base_path = ... - -def configuration(parent_package="", top_path=None): ... diff --git a/stubs/skimage/draw/setup.pyi b/stubs/skimage/draw/setup.pyi deleted file mode 100644 index ae1561c5..00000000 --- a/stubs/skimage/draw/setup.pyi +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python - -import os - -base_path = ... - -def configuration(parent_package="", top_path=None): ... diff --git a/stubs/skimage/future/graph/setup.pyi b/stubs/skimage/future/graph/setup.pyi deleted file mode 100644 index d2a4c90d..00000000 --- a/stubs/skimage/future/graph/setup.pyi +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python - -import os.path - -base_path = ... - -def configuration(parent_package="", top_path=None): ... diff --git a/stubs/skimage/future/setup.pyi b/stubs/skimage/future/setup.pyi deleted file mode 100644 index 6aec2280..00000000 --- a/stubs/skimage/future/setup.pyi +++ /dev/null @@ -1 +0,0 @@ -def configuration(parent_package="skimage", top_path=None): ... diff --git a/stubs/skimage/measure/setup.pyi b/stubs/skimage/measure/setup.pyi deleted file mode 100644 index ae1561c5..00000000 --- a/stubs/skimage/measure/setup.pyi +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python - -import os - -base_path = ... - -def configuration(parent_package="", top_path=None): ... diff --git a/stubs/skimage/morphology/setup.pyi b/stubs/skimage/morphology/setup.pyi deleted file mode 100644 index ae1561c5..00000000 --- a/stubs/skimage/morphology/setup.pyi +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python - -import os - -base_path = ... - -def configuration(parent_package="", top_path=None): ... diff --git a/stubs/skimage/setup.pyi b/stubs/skimage/setup.pyi deleted file mode 100644 index 9973bffa..00000000 --- a/stubs/skimage/setup.pyi +++ /dev/null @@ -1 +0,0 @@ -def configuration(parent_package="", top_path=None): ... diff --git a/stubs/skimage/transform/setup.pyi b/stubs/skimage/transform/setup.pyi deleted file mode 100644 index ae1561c5..00000000 --- a/stubs/skimage/transform/setup.pyi +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python - -import os - -base_path = ... - -def configuration(parent_package="", top_path=None): ... diff --git a/stubs/sklearn/__check_build/setup.pyi b/stubs/sklearn/__check_build/setup.pyi deleted file mode 100644 index 89a51327..00000000 --- a/stubs/sklearn/__check_build/setup.pyi +++ /dev/null @@ -1,4 +0,0 @@ -# Author: Virgile Fritsch -# License: BSD 3 clause - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/_loss/setup.pyi b/stubs/sklearn/_loss/setup.pyi deleted file mode 100644 index 892f4b82..00000000 --- a/stubs/sklearn/_loss/setup.pyi +++ /dev/null @@ -1 +0,0 @@ -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/cluster/setup.pyi b/stubs/sklearn/cluster/setup.pyi deleted file mode 100644 index 669ef9b2..00000000 --- a/stubs/sklearn/cluster/setup.pyi +++ /dev/null @@ -1,9 +0,0 @@ -# Author: Alexandre Gramfort -# License: BSD 3 clause -import os - -import numpy -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/datasets/setup.pyi b/stubs/sklearn/datasets/setup.pyi deleted file mode 100644 index d04223c2..00000000 --- a/stubs/sklearn/datasets/setup.pyi +++ /dev/null @@ -1,8 +0,0 @@ -import os -import platform - -import numpy -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/decomposition/setup.pyi b/stubs/sklearn/decomposition/setup.pyi deleted file mode 100644 index 30795b9f..00000000 --- a/stubs/sklearn/decomposition/setup.pyi +++ /dev/null @@ -1,7 +0,0 @@ -import os - -import numpy -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/ensemble/setup.pyi b/stubs/sklearn/ensemble/setup.pyi deleted file mode 100644 index f10f2e92..00000000 --- a/stubs/sklearn/ensemble/setup.pyi +++ /dev/null @@ -1,5 +0,0 @@ -import numpy -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/feature_extraction/setup.pyi b/stubs/sklearn/feature_extraction/setup.pyi deleted file mode 100644 index ba0b204e..00000000 --- a/stubs/sklearn/feature_extraction/setup.pyi +++ /dev/null @@ -1,5 +0,0 @@ -import os - -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/inspection/setup.pyi b/stubs/sklearn/inspection/setup.pyi deleted file mode 100644 index 436f4022..00000000 --- a/stubs/sklearn/inspection/setup.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/linear_model/setup.pyi b/stubs/sklearn/linear_model/setup.pyi deleted file mode 100644 index d8c0a0b9..00000000 --- a/stubs/sklearn/linear_model/setup.pyi +++ /dev/null @@ -1,9 +0,0 @@ -import os - -import numpy -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -from .._build_utils import gen_from_templates - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/manifold/setup.pyi b/stubs/sklearn/manifold/setup.pyi deleted file mode 100644 index 30795b9f..00000000 --- a/stubs/sklearn/manifold/setup.pyi +++ /dev/null @@ -1,7 +0,0 @@ -import os - -import numpy -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/metrics/cluster/setup.pyi b/stubs/sklearn/metrics/cluster/setup.pyi deleted file mode 100644 index 30795b9f..00000000 --- a/stubs/sklearn/metrics/cluster/setup.pyi +++ /dev/null @@ -1,7 +0,0 @@ -import os - -import numpy -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/metrics/setup.pyi b/stubs/sklearn/metrics/setup.pyi deleted file mode 100644 index e0d3e53f..00000000 --- a/stubs/sklearn/metrics/setup.pyi +++ /dev/null @@ -1,7 +0,0 @@ -import os - -import numpy as np -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/neighbors/setup.pyi b/stubs/sklearn/neighbors/setup.pyi deleted file mode 100644 index ba0b204e..00000000 --- a/stubs/sklearn/neighbors/setup.pyi +++ /dev/null @@ -1,5 +0,0 @@ -import os - -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/preprocessing/setup.pyi b/stubs/sklearn/preprocessing/setup.pyi deleted file mode 100644 index ba0b204e..00000000 --- a/stubs/sklearn/preprocessing/setup.pyi +++ /dev/null @@ -1,5 +0,0 @@ -import os - -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/setup.pyi b/stubs/sklearn/setup.pyi deleted file mode 100644 index 140bf54d..00000000 --- a/stubs/sklearn/setup.pyi +++ /dev/null @@ -1,9 +0,0 @@ -import os -import sys - -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -from ._build_utils import cythonize_extensions - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/svm/setup.pyi b/stubs/sklearn/svm/setup.pyi deleted file mode 100644 index e77d7e96..00000000 --- a/stubs/sklearn/svm/setup.pyi +++ /dev/null @@ -1,8 +0,0 @@ -import os -from os.path import join - -import numpy -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/tree/setup.pyi b/stubs/sklearn/tree/setup.pyi deleted file mode 100644 index 30795b9f..00000000 --- a/stubs/sklearn/tree/setup.pyi +++ /dev/null @@ -1,7 +0,0 @@ -import os - -import numpy -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/sklearn/utils/setup.pyi b/stubs/sklearn/utils/setup.pyi deleted file mode 100644 index a2112baa..00000000 --- a/stubs/sklearn/utils/setup.pyi +++ /dev/null @@ -1,9 +0,0 @@ -import os -from os.path import join - -from numpy.distutils.core import setup -from numpy.distutils.misc_util import Configuration - -from .._build_utils import gen_from_templates - -def configuration(parent_package: str = "", top_path=None): ... diff --git a/stubs/vispy/gloo/glir.pyi b/stubs/vispy/gloo/glir.pyi index 4833a2e8..9b5b36d4 100644 --- a/stubs/vispy/gloo/glir.pyi +++ b/stubs/vispy/gloo/glir.pyi @@ -1,21 +1,3 @@ -# ----------------------------------------------------------------------------- -# Copyright (c) Vispy Development Team. All Rights Reserved. -# Distributed under the (new) BSD License. See LICENSE.txt for more info. -# ----------------------------------------------------------------------------- - -import json -import os -import re -import sys -import weakref -from distutils.version import LooseVersion - -import numpy as np - -from ..util import logger -from . import gl - -# TODO: expose these via an extension space in .gl? _internalformats: list = ... _internalformats = ... diff --git a/stubs/vispy/util/check_environment.pyi b/stubs/vispy/util/check_environment.pyi index a91aa01c..7255293d 100644 --- a/stubs/vispy/util/check_environment.pyi +++ b/stubs/vispy/util/check_environment.pyi @@ -1,8 +1,3 @@ -# Copyright (c) Vispy Development Team. All Rights Reserved. -# Distributed under the (new) BSD License. See LICENSE.txt for more info. -import os -from distutils.version import LooseVersion - def has_matplotlib(version="1.2"): ... def has_skimage(version="0.11"): ... def has_backend(backend, has=..., capable=..., out=...): ...