From 51724a4571557d9af092a3306c0ac46f1d7c4d0a Mon Sep 17 00:00:00 2001 From: wckdouglas Date: Mon, 12 Jan 2026 13:05:55 -0500 Subject: [PATCH 1/2] replace pre-commit with prek prek is a Rust-based drop-in replacement that is faster and uses less disk space. Co-Authored-By: Claude Opus 4.5 --- pyproject.toml | 5 +++-- requirements-dev.lock | 19 ++----------------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index be63b5c..672e98b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,8 +50,9 @@ dev-dependencies = [ "pytest-cov>=2.12.1", "mypy>=1.10.0", "ruff>=0.0.290", - "pre-commit>=3.7.1", - "versioningit>=3.1.1" + "prek>=0.2.27", + "versioningit>=3.1.1", + "ty>=0.0.6" ] [tool.rye.scripts] diff --git a/requirements-dev.lock b/requirements-dev.lock index 49374b1..bd1129b 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -10,24 +10,16 @@ # universal: false -e file:. -cfgv==3.4.0 - # via pre-commit contourpy==1.3.0 # via matplotlib coverage==7.6.9 # via pytest-cov cycler==0.12.1 # via matplotlib -distlib==0.3.9 - # via virtualenv exceptiongroup==1.2.2 # via pytest -filelock==3.16.1 - # via virtualenv fonttools==4.55.3 # via matplotlib -identify==2.6.3 - # via pre-commit importlib-metadata==8.5.0 # via versioningit importlib-resources==6.4.5 @@ -43,8 +35,6 @@ more-itertools==10.5.0 mypy==1.13.0 mypy-extensions==1.0.0 # via mypy -nodeenv==1.9.1 - # via pre-commit numpy==2.0.2 # via contourpy # via matplotlib @@ -59,11 +49,9 @@ pandas==2.2.3 # via ridgeplot-py pillow==11.0.0 # via matplotlib -platformdirs==4.3.6 - # via virtualenv pluggy==1.5.0 # via pytest -pre-commit==4.0.1 +prek==0.2.27 pyparsing==3.2.0 # via matplotlib pytest==8.3.4 @@ -74,8 +62,6 @@ python-dateutil==2.9.0.post0 # via pandas pytz==2024.2 # via pandas -pyyaml==6.0.2 - # via pre-commit ruff==0.8.3 scipy==1.13.1 # via ridgeplot-py @@ -86,13 +72,12 @@ tomli==2.2.1 # via mypy # via pytest # via versioningit +ty==0.0.6 typing-extensions==4.12.2 # via mypy tzdata==2024.2 # via pandas versioningit==3.1.2 -virtualenv==20.28.0 - # via pre-commit zipp==3.21.0 # via importlib-metadata # via importlib-resources From 1ec3d56ad390499cf809c5fa234ae50dd9b73154 Mon Sep 17 00:00:00 2001 From: wckdouglas Date: Mon, 12 Jan 2026 13:13:04 -0500 Subject: [PATCH 2/2] replace mypy with ty ty is Astral's Rust-based type checker that is significantly faster than mypy. Co-Authored-By: Claude Opus 4.5 --- pyproject.toml | 13 +------------ requirements-dev.lock | 6 ------ 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 672e98b..69c2cdf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,16 +28,6 @@ packages = ["src/ridgeplot"] [tool.hatch.version] source = "versioningit" -[tool.mypy] -check_untyped_defs = true -ignore_missing_imports = true -plugins = "numpy.typing.mypy_plugin" -strict_optional = true - -[[tool.mypy.overrides]] -ignore_errors = true -module = ["matplotlib.*", "scipy.*"] - [tool.ruff] line-length = 120 @@ -48,7 +38,6 @@ select = ['E', 'F', 'W', 'I'] dev-dependencies = [ "pytest>=6.2.5", "pytest-cov>=2.12.1", - "mypy>=1.10.0", "ruff>=0.0.290", "prek>=0.2.27", "versioningit>=3.1.1", @@ -60,7 +49,7 @@ check = {chain = ["format", "lint", "type", "test"]} format = "ruff format src/ test/" lint = "ruff check" test = "pytest -l -rPap -vvv -p no:warnings --cov " -type = "mypy src/ridgeplot" +type = "ty check src/ridgeplot" [tool.versioningit] default-version = "0.0.0+unknown" diff --git a/requirements-dev.lock b/requirements-dev.lock index bd1129b..ad193e2 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -32,9 +32,6 @@ matplotlib==3.9.4 # via ridgeplot-py more-itertools==10.5.0 # via ridgeplot-py -mypy==1.13.0 -mypy-extensions==1.0.0 - # via mypy numpy==2.0.2 # via contourpy # via matplotlib @@ -69,12 +66,9 @@ six==1.17.0 # via python-dateutil tomli==2.2.1 # via coverage - # via mypy # via pytest # via versioningit ty==0.0.6 -typing-extensions==4.12.2 - # via mypy tzdata==2024.2 # via pandas versioningit==3.1.2