Skip to content

Commit bc8fc1a

Browse files
Migrate from pre-commit to prek (#969)
1 parent 86da884 commit bc8fc1a

5 files changed

Lines changed: 50 additions & 97 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ jobs:
5454
uv python pin ${{ matrix.python_version }}
5555
uv sync --resolution ${{ matrix.dependencies == 'min' && 'lowest-direct' || 'highest' }}
5656
57-
- name: Run pre-commit
57+
- name: Run prek
5858
if: ${{ matrix.pre_commit == null || matrix.pre_commit == 'true' }}
5959
run: |
60-
uv run --frozen pre-commit run --all-files
60+
uv run --frozen prek run --all-files
6161
6262
- name: Run pytest
6363
uses: pavelzw/pytest-action@510c5e90c360a185039bea56ce8b3e7e51a16507 # v2.2.0

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ Then with the current working directory set to the project root, run:
2424
uv sync
2525
```
2626

27-
### Pre-commit Hooks
27+
### Git Hooks
2828

29-
This project uses the `pre-commit` framework to manage Git hooks. To install the hooks,
29+
This project uses the `prek` framework (similar to `pre-commit`) to manage Git hooks. To install the hooks,
3030
run:
3131

3232
```shell
33-
uv run pre-commit install
33+
uv run prek install
3434
```
3535

3636
## Testing

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ dev = [
5959
"deptry>=0.23.0",
6060
"import-linter>=2.3",
6161
"jinja2>=3.1.6",
62-
"pre-commit>=4.2.0",
62+
"prek>=0.2.4",
6363
"pyright[nodejs]>=1.1.399",
6464
"ruff>=0.11.5",
6565
]

requirements.txt

Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,6 @@ cffi==1.17.1 \
101101
--hash=sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99 \
102102
--hash=sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b
103103
# via pytest-codspeed
104-
cfgv==3.4.0 \
105-
--hash=sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9 \
106-
--hash=sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560
107-
# via pre-commit
108104
charset-normalizer==3.4.1 \
109105
--hash=sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd \
110106
--hash=sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601 \
@@ -259,20 +255,12 @@ deptry==0.23.0 \
259255
--hash=sha256:d53e803b280791d89a051b6183d9dc40411200e22a8ab7e6c32c6b169822a664 \
260256
--hash=sha256:da7678624f4626d839c8c03675452cefc59d6cf57d25c84a9711dae514719279 \
261257
--hash=sha256:e6172b2205f6e84bcc9df25226693d4deb9576a6f746c2ace828f6d13401d357
262-
distlib==0.3.9 \
263-
--hash=sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87 \
264-
--hash=sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403
265-
# via virtualenv
266258
exceptiongroup==1.2.2 ; python_full_version < '3.11' \
267259
--hash=sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b \
268260
--hash=sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc
269261
# via
270262
# anyio
271263
# pytest
272-
filelock==3.17.0 \
273-
--hash=sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338 \
274-
--hash=sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e
275-
# via virtualenv
276264
genson==1.3.0 \
277265
--hash=sha256:468feccd00274cc7e4c09e84b08704270ba8d95232aa280f65b986139cec67f7 \
278266
--hash=sha256:e02db9ac2e3fd29e65b5286f7135762e2cd8a986537c075b06fc5f1517308e37
@@ -393,10 +381,6 @@ httpx==0.28.1 \
393381
--hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
394382
--hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
395383
# via datamodel-code-generator
396-
identify==2.6.8 \
397-
--hash=sha256:61491417ea2c0c5c670484fd8abbb34de34cdae1e5f39a73ee65e48e4bb663fc \
398-
--hash=sha256:83657f0f766a3c8d0eaea16d4ef42494b39b34629a4b3192a9d020d349b3e255
399-
# via pre-commit
400384
idna==3.10 \
401385
--hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \
402386
--hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3
@@ -525,9 +509,7 @@ mypy-extensions==1.0.0 \
525509
nodeenv==1.9.1 \
526510
--hash=sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f \
527511
--hash=sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9
528-
# via
529-
# pre-commit
530-
# pyright
512+
# via pyright
531513
nodejs-wheel-binaries==22.16.0 \
532514
--hash=sha256:2728972d336d436d39ee45988978d8b5d963509e06f063e80fe41b203ee80b28 \
533515
--hash=sha256:2fffb4bf1066fb5f660da20819d754f1b424bca1b234ba0f4fa901c52e3975fb \
@@ -566,14 +548,30 @@ platformdirs==4.3.6 \
566548
# via
567549
# black
568550
# mkdocs-get-deps
569-
# virtualenv
570551
pluggy==1.5.0 \
571552
--hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \
572553
--hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669
573554
# via pytest
574-
pre-commit==4.2.0 \
575-
--hash=sha256:601283b9757afd87d40c4c4a9b2b5de9637a8ea02eaff7adc2d0fb4e04841146 \
576-
--hash=sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd
555+
prek==0.2.4 \
556+
--hash=sha256:05645d5ccfa7a54a272591567ad9787590bc1f5c13320364d9cfb4043151c442 \
557+
--hash=sha256:0dc14939a7ecc3e418665a917a7949f83c34f08bfd9e221bbdc61ea013e633c6 \
558+
--hash=sha256:213087cee04d017ea1f3efbfc5803c76c755d1d64e66270a122de57afc2eb68e \
559+
--hash=sha256:2edbf9d24dcb0681709f5df9c7d9ff15ceac3dd7f5c2cdb8bfec7163e4449278 \
560+
--hash=sha256:324bb5b2b367b9dc853ade4f5669d72ef560924f1d5e26886400a262e98c8989 \
561+
--hash=sha256:39456219bbdfc025e19cadedfbb5799316405cb8380d4245a7b83e43eafa9bd9 \
562+
--hash=sha256:3b17545a043d4979a7fc4b92ff4957c8a11b8ee3f2c9b66443a9374a858f9dc5 \
563+
--hash=sha256:4a606f5078525c2b6609b88885ee6aa8315ccc87093ff24829d77bd9bcac4f78 \
564+
--hash=sha256:552659515d2dcddeac635a5c6b49d0f4f6290d0ef7bf68d05251b1280afcd9dd \
565+
--hash=sha256:64b0c913a7ccfffecab93eb1faa451431a80f3a21c8337b04c93f3cee883cca9 \
566+
--hash=sha256:719b8073bb9df96520008f6eb5e81c248ea7891c10117f01b8344d710ca884fe \
567+
--hash=sha256:900319e7ff34c66a235560e4f612f2b3c897a7c6e4b6b29412ca20b0fa8d6e63 \
568+
--hash=sha256:a18dba791b08817e8a8a82b97ba793fe46b5788323cb92d76d3f24a29a5400c0 \
569+
--hash=sha256:b44a809ace8b68ff0970026439547542fdaca5413c24e0af4b9db55dcefb69d4 \
570+
--hash=sha256:d38e6a0b16915bcd04438873a9fcf8214844868a26bb11941dc65e10ec8c4bfd \
571+
--hash=sha256:da20bc847bf0f6acad34d1295abe954228516c76bac379403488a6251186d114 \
572+
--hash=sha256:e113ec75d8ceff0a4df0a11d27aa58c0ef46723f5b0835d15ced4e4fb314a87d \
573+
--hash=sha256:e1817d4f0ed7a05e81eafa67da8272fc1e8e3b61451e217339872f064c677839 \
574+
--hash=sha256:f7165c4ff581b43a545304151248e4db9fadcef8ff24d586870680973e978c1e
577575
pycparser==2.22 \
578576
--hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \
579577
--hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc
@@ -773,7 +771,6 @@ pyyaml==6.0.2 \
773771
# datamodel-code-generator
774772
# mkdocs
775773
# mkdocs-get-deps
776-
# pre-commit
777774
# pymdown-extensions
778775
# pyyaml-env-tag
779776
pyyaml-env-tag==0.1 \
@@ -950,10 +947,6 @@ urllib3==2.5.0 \
950947
--hash=sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760 \
951948
--hash=sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc
952949
# via requests
953-
virtualenv==20.29.2 \
954-
--hash=sha256:fdaabebf6d03b5ba83ae0a02cfe96f48a716f4fae556461d180825866f75b728 \
955-
--hash=sha256:febddfc3d1ea571bdb1dc0f98d7b45d24def7428214d4fb73cc486c9568cce6a
956-
# via pre-commit
957950
watchdog==6.0.0 \
958951
--hash=sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a \
959952
--hash=sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2 \

uv.lock

Lines changed: 23 additions & 63 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)