forked from astronomer/astro-sdk
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.pre-commit-config.yaml
135 lines (127 loc) · 4.35 KB
/
.pre-commit-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
---
ci:
skip:
- mypy # requires additional dependencies in ci
- identity # output is too verbose for ci; pre-commit.ci truncates almost all output after that
default_stages: [commit, push]
default_language_version:
# force all unspecified python hooks to run python3
python: python3
minimum_pre_commit_version: "1.20.0"
repos:
- repo: meta
hooks:
- id: identity
- id: check-hooks-apply
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-merge-conflict
- id: check-toml
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
# Exclude auto-generated example files from being changed
exclude: ^sql-cli/include/base/.airflow/dags
- id: mixed-line-ending
- id: trailing-whitespace
- id: pretty-format-json
args: ['--autofix']
- id: name-tests-test
args: ['--pytest-test-first']
exclude: |
(?x)
^python-sdk/tests/benchmark/.*|
^python-sdk/tests/utils/.*|
^python-sdk/tests/sql/operators/utils.py|
^python-sdk/tests/integration_test_dag.py|
^sql-cli/tests/test_dag/.*$|
^sql-cli/tests/utils.py
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.9.0
hooks:
- id: rst-backticks
- id: python-no-log-warn
- id: python-check-mock-methods
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.3.1
hooks:
- id: forbid-crlf
- id: remove-crlf
- id: forbid-tabs
exclude: ^python-sdk/mk/|^python-sdk/docs/Makefile|^python-sdk/Makefile$|^python-sdk/tests/benchmark/Makefile|^sql-cli/Makefile$
- id: remove-tabs
exclude: ^python-sdk/mk/|^python-sdk/docs/Makefile|^python-sdk/Makefile$|^python-sdk/tests/benchmark/Makefile|^sql-cli/Makefile$
- repo: https://github.com/psf/black
rev: 22.12.0
hooks:
- id: black
# Exclude auto-generated example files from being changed
exclude: ^sql-cli/include/base/.airflow/dags
args: ["--config", "./python-sdk/pyproject.toml"]
- repo: https://github.com/asottile/blacken-docs
rev: v1.12.1
hooks:
- id: blacken-docs
alias: black
additional_dependencies: [black>=22.10.0]
- repo: https://github.com/PyCQA/flake8
rev: 6.0.0
hooks:
- id: flake8
additional_dependencies:
- flake8-builtins
- flake8-comprehensions
- flake8-colors
- flake8-assertive
- flake8-typing-imports
- flake8-logging-format
- repo: https://github.com/PyCQA/isort
rev: 5.11.0
hooks:
- id: isort
name: Run isort
# Exclude auto-generated example files from being changed
exclude: ^sql-cli/include/base/.airflow/dags
args:
# These options are duplicated to known_first_party in .isort.cfg,
# Please keep these in sync for now. (See comments there for details.)
- --profile=black
- -l=110
- --combine-as
- -p=astro
- -p=tests
- -p=sql_cli
- repo: https://github.com/codespell-project/codespell
rev: v2.2.2
hooks:
- id: codespell
name: Run codespell to check for common misspellings in files
language: python
types: [text]
exclude: ^mk/.*\.mk$|^python-sdk/docs/Makefile|^python-sdk/Makefile$|^python-sdk/tests/benchmark/Makefile$|^sql-cli/poetry.lock$
- repo: https://github.com/pre-commit/mirrors-mypy
rev: 'v0.991'
hooks:
- id: mypy
name: mypy-python-sdk
additional_dependencies: [types-PyYAML, types-attrs, attrs, types-requests, types-python-dateutil]
files: "^python-sdk/"
- id: mypy
name: mypy-sql-cli
additional_dependencies: [types-PyYAML, types-requests]
files: "^sql-cli/"
- repo: https://github.com/asottile/pyupgrade
rev: v3.3.1
hooks:
- id: pyupgrade
args: [--py37-plus]
# Exclude auto-generated example files from being changed
exclude: ^sql-cli/include/base/.airflow/dags
- repo: local
hooks:
- id: check-context-typing-compat
name: Ensure modules use local typing compat for airflow.utils.context.Context
entry: python-sdk/dev/scripts/pre_commit_context_typing_compat.py
language: python
pass_filenames: false