Skip to content

Commit e65e8a4

Browse files
committed
Test types across environments, remove inexistant setup.pyi, fix all issues on Python 3.13
1 parent 69869f3 commit e65e8a4

File tree

32 files changed

+28
-201
lines changed

32 files changed

+28
-201
lines changed

.github/workflows/test.yml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,24 @@ on: [push, pull_request, workflow_dispatch]
44

55
jobs:
66
test:
7-
runs-on: ubuntu-latest
7+
runs-on: ${{ matrix.os }}
88
timeout-minutes: 10
9+
strategy:
10+
matrix:
11+
# Oldest non-EOL and newest released
12+
python-version: ["3.9", "3.13"]
13+
# Tier 1 OSes
14+
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
15+
fail-fast: false
916

1017
steps:
1118
- name: Check out code
1219
uses: actions/checkout@v2
1320

14-
- name: Setup Python
21+
- name: Setup Python ${{ matrix.python-version }}
1522
uses: actions/setup-python@v2
1623
with:
17-
python-version: "3.11"
24+
python-version: ${{ matrix.python-version }}
1825

1926
- name: Cache pip
2027
uses: actions/cache@v4
@@ -31,9 +38,10 @@ jobs:
3138
uses: jakebailey/pyright-action@v2
3239
with:
3340
pylance-version: latest-prerelease
41+
python-version: ${{ matrix.python-version }}
3442

3543
- name: Run mypy tests
36-
run: python -m mypy .
44+
run: python -m mypy . --python-version=${{ matrix.python-version }}
3745

3846
hygiene:
3947
runs-on: ubuntu-latest
@@ -45,4 +53,5 @@ jobs:
4553

4654
- name: Run Ruff Linter
4755
uses: astral-sh/ruff-action@v3
48-
- run: ruff format --check
56+
- name: Run Ruff Formatter
57+
run: ruff format --check

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,9 @@ MigrationBackup/
357357
# Python virtual environment
358358
.venv
359359

360+
# Lock files (like uv.lock)
361+
*.lock
362+
360363
# Build files from utils
361364
.eggs
362365
*.egg-info

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ hygiene = ["ruff ==0.11.*"]
1111
tests = [
1212
# Tools used for testing
1313
"docopt-ng",
14-
"mypy ==1.13.*",
14+
"mypy ==1.15.*",
1515
"pyright",
1616

1717
# Typed libraries and stubs
@@ -112,7 +112,7 @@ extra-standard-library = [
112112
]
113113

114114
[tool.pyright]
115-
exclude = ["build", ".git"]
115+
exclude = ["build", ".git", ".venv*"]
116116
stubPath = "./stubs"
117117
pythonversion = "3.9" # Target oldest supported Python version
118118
typeCheckingMode = "standard"

stubs/matplotlib/_mathtext.pyi

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
import enum
22
import functools
3-
from tkinter.tix import HList
3+
import sys
4+
from _typeshed import Incomplete
45
from typing import Literal
56

67
from .font_manager import FontProperties
78
from .mathtext import MathtextBackend
89

10+
# tkinter.tix was removed from Python 3.13
11+
# Recent matplotlib versions define HList in this module
12+
if sys.version_info >= (3, 13):
13+
HList: Incomplete
14+
else:
15+
from tkinter.tix import HList
16+
917
def get_unicode_index(symbol: str, math: bool = True) -> int: ...
1018

1119
class Fonts:

stubs/skimage/_shared/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/skimage/draw/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/skimage/future/graph/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/skimage/future/setup.pyi

Lines changed: 0 additions & 1 deletion
This file was deleted.

stubs/skimage/measure/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/skimage/morphology/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/skimage/setup.pyi

Lines changed: 0 additions & 1 deletion
This file was deleted.

stubs/skimage/transform/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/sklearn/__check_build/setup.pyi

Lines changed: 0 additions & 8 deletions
This file was deleted.

stubs/sklearn/_loss/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/sklearn/cluster/setup.pyi

Lines changed: 0 additions & 9 deletions
This file was deleted.

stubs/sklearn/datasets/setup.pyi

Lines changed: 0 additions & 8 deletions
This file was deleted.

stubs/sklearn/decomposition/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/sklearn/ensemble/setup.pyi

Lines changed: 0 additions & 5 deletions
This file was deleted.

stubs/sklearn/feature_extraction/setup.pyi

Lines changed: 0 additions & 5 deletions
This file was deleted.

stubs/sklearn/inspection/setup.pyi

Lines changed: 0 additions & 4 deletions
This file was deleted.

stubs/sklearn/linear_model/setup.pyi

Lines changed: 0 additions & 9 deletions
This file was deleted.

stubs/sklearn/manifold/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/sklearn/metrics/cluster/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/sklearn/metrics/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/sklearn/neighbors/setup.pyi

Lines changed: 0 additions & 5 deletions
This file was deleted.

stubs/sklearn/preprocessing/setup.pyi

Lines changed: 0 additions & 5 deletions
This file was deleted.

stubs/sklearn/setup.pyi

Lines changed: 0 additions & 9 deletions
This file was deleted.

stubs/sklearn/svm/setup.pyi

Lines changed: 0 additions & 8 deletions
This file was deleted.

stubs/sklearn/tree/setup.pyi

Lines changed: 0 additions & 7 deletions
This file was deleted.

stubs/sklearn/utils/setup.pyi

Lines changed: 0 additions & 9 deletions
This file was deleted.

stubs/vispy/gloo/glir.pyi

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,3 @@
1-
# -----------------------------------------------------------------------------
2-
# Copyright (c) Vispy Development Team. All Rights Reserved.
3-
# Distributed under the (new) BSD License. See LICENSE.txt for more info.
4-
# -----------------------------------------------------------------------------
5-
6-
import json
7-
import os
8-
import re
9-
import sys
10-
import weakref
11-
from distutils.version import LooseVersion
12-
13-
import numpy as np
14-
15-
from ..util import logger
16-
from . import gl
17-
18-
# TODO: expose these via an extension space in .gl?
191
_internalformats: list = ...
202
_internalformats = ...
213

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
# Copyright (c) Vispy Development Team. All Rights Reserved.
2-
# Distributed under the (new) BSD License. See LICENSE.txt for more info.
3-
import os
4-
from distutils.version import LooseVersion
5-
61
def has_matplotlib(version="1.2"): ...
72
def has_skimage(version="0.11"): ...
83
def has_backend(backend, has=..., capable=..., out=...): ...

0 commit comments

Comments
 (0)