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