From 6ec9dd9f9ae252265247e909d21316d34b7714f3 Mon Sep 17 00:00:00 2001 From: Tsvika Shapira Date: Mon, 5 Oct 2026 21:30:35 +0300 Subject: [PATCH] fix(mypy): set num_workers = "auto" in the mypy config #79 moved this to a CI-only `--num-workers auto` flag because validate-pyproject rejects the value: SchemaStore's mypy schema still types num_workers as an integer. Put it back in [tool.mypy], so local `mypy` runs are parallel too, and disable only the mypy schema in the validate-pyproject hook until the schema catches up. Co-Authored-By: Claude Opus 5.5 --- project_name/.github/workflows/ci.yml.jinja | 2 +- project_name/.pre-commit-config.yaml.jinja | 3 +++ project_name/pyproject.toml.jinja | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/project_name/.github/workflows/ci.yml.jinja b/project_name/.github/workflows/ci.yml.jinja index 6ef6b25..a2392c8 100644 --- a/project_name/.github/workflows/ci.yml.jinja +++ b/project_name/.github/workflows/ci.yml.jinja @@ -77,7 +77,7 @@ jobs: - name: List packages run: uv pip list - name: Run mypy - run: uv run --no-sync mypy --num-workers auto + run: uv run --no-sync mypy dependencies: runs-on: ubuntu-latest diff --git a/project_name/.pre-commit-config.yaml.jinja b/project_name/.pre-commit-config.yaml.jinja index aff9a5b..0778458 100644 --- a/project_name/.pre-commit-config.yaml.jinja +++ b/project_name/.pre-commit-config.yaml.jinja @@ -207,6 +207,9 @@ repos: rev: hooks: - id: validate-pyproject + # TODO: drop `args` once SchemaStore's mypy schema accepts + # `num_workers = "auto"` (new in mypy 2.4) + args: [--disable-plugins, mypy, --] # YAML files - repo: https://github.com/adrienverge/yamllint diff --git a/project_name/pyproject.toml.jinja b/project_name/pyproject.toml.jinja index 9a2d445..7e8a3a6 100644 --- a/project_name/pyproject.toml.jinja +++ b/project_name/pyproject.toml.jinja @@ -186,6 +186,7 @@ src.include = [ [tool.mypy] files = ["src", "tests"] mypy_path = "stubs" +num_workers = "auto" # set the platform python_version = "3.{{ python_min }}" # enable checks [last updated: mypy 2.4]