Skip to content

Commit bb76b99

Browse files
committed
Replace mypy with pyright
1 parent 1347693 commit bb76b99

File tree

2 files changed

+12
-20
lines changed

2 files changed

+12
-20
lines changed

{{cookiecutter.project_slug}}/Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,24 @@ run:
2929

3030
.PHONY: lint
3131
lint:
32+
uv sync --group lint
3233
uv run ruff format --check && \
3334
uv run ruff check && \
34-
uv run mypy
35+
uv run pyright
3536

3637
{%- if cookiecutter.docstring_coverage %}
3738
uv run interrogate -c pyproject.toml .
3839
{%- endif %}
3940

4041
.PHONY: format
4142
format:
43+
uv sync --group lint
4244
uv run ruff format && \
4345
uv run ruff check --fix
4446

4547
.PHONY: test
4648
test:
49+
uv sync --group test
4750
uv run pytest -svv --timeout=300 --cov=$(PY_IMPORT) $(T) $(TEST_ARGS)
4851
uv run coverage report -m $(COV_ARGS)
4952

{{cookiecutter.project_slug}}/pyproject.toml

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ lint = [
3737
# NOTE: ruff is under active development, so we pin conservatively here
3838
# and let Dependabot periodically perform this update.
3939
"ruff ~= 0.12",
40-
"mypy >= 1.0",
40+
"pyright ~= 1.1.407",
4141
"types-html5lib",
4242
"types-requests",
4343
"types-toml",
@@ -66,24 +66,13 @@ Source = "https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.
6666
# don't attempt code coverage for the CLI entrypoints
6767
omit = ["{{ cookiecutter.__project_src_path }}/_cli.py"]
6868

69-
[tool.mypy]
70-
mypy_path = "src"
71-
packages = "{{ cookiecutter.__project_import }}"
72-
allow_redefinition = true
73-
check_untyped_defs = true
74-
disallow_incomplete_defs = true
75-
disallow_untyped_defs = true
76-
ignore_missing_imports = true
77-
no_implicit_optional = true
78-
show_error_codes = true
79-
sqlite_cache = true
80-
strict_equality = true
81-
warn_no_return = true
82-
warn_redundant_casts = true
83-
warn_return_any = true
84-
warn_unreachable = true
85-
warn_unused_configs = true
86-
warn_unused_ignores = true
69+
[tool.pyright]
70+
include = ["src", "test"]
71+
exclude = []
72+
reportUnusedImport = "warning"
73+
reportUnusedVariable = "warning"
74+
reportGeneralTypeIssues = "error"
75+
typeCheckingMode = "strict"
8776

8877
[tool.ruff]
8978
line-length = 100

0 commit comments

Comments
 (0)