Mirror of https://github.com/roostorg/osprey
github.com/roostorg/osprey
1fail_fast: true
2
3default_language_version:
4 python: python3.11
5
6repos:
7 - repo: https://github.com/pre-commit/pre-commit-hooks
8 rev: v5.0.0
9 hooks:
10 - id: trailing-whitespace
11 exclude: .*/tests?/.*\.txt
12 - id: end-of-file-fixer
13 exclude: .*/tests?/.*\.txt
14 - id: check-case-conflict
15 - id: check-merge-conflict
16 - id: debug-statements
17 - id: check-json
18 - id: check-toml
19 - id: mixed-line-ending
20 args: ["--fix=lf"]
21 exclude: .*/tests?/.*\.txt
22
23 - repo: https://github.com/astral-sh/ruff-pre-commit
24 rev: v0.12.9
25 hooks:
26 - id: ruff
27 args: ["--fix", "--exit-non-zero-on-fix"]
28 - id: ruff-format
29
30 # Python type checking - mostly from https://github.com/astral-sh/uv-pre-commit/issues/14.
31 - repo: local
32 hooks:
33 - id: mypy
34 name: mypy
35 entry: uv run mypy
36 types_or: [python, pyi]
37 language: system
38 pass_filenames: true
39 exclude: |
40 (?x)^(
41 .*/venv/.*$|
42 .*/setup\.py$|
43 .*_pb2\.py$|
44 .*_pb2\.pyi$|
45 .*_pb2_grpc\.py$|
46 .*/tests/.*|
47 .*/test_.*\.py$
48 )$
49
50 # React/TypeScript formatting for osprey_ui
51 - repo: local
52 hooks:
53 - id: prettier-osprey-ui
54 name: prettier (osprey_ui)
55 entry: npx prettier --config osprey_ui/.prettierrc --write
56 files: ^osprey_ui/
57 types_or: [javascript, jsx, ts, tsx, json, css, scss, markdown]
58 language: system
59 pass_filenames: true