2024-03-14 22:27:37 +03:00
|
|
|
|
repos:
|
|
|
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
|
|
|
rev: v2.3.0
|
|
|
|
|
hooks:
|
|
|
|
|
- id: trailing-whitespace # убирает лишние пробелы
|
|
|
|
|
- id: check-added-large-files # проверяет тяжелые файлы на изменения
|
|
|
|
|
- id: end-of-file-fixer # добавляет пустую строку в конце файла
|
|
|
|
|
- id: check-yaml # проверяет синтаксис .yaml файлов
|
|
|
|
|
- id: check-json # проверяет синтаксис .json файлов
|
|
|
|
|
- id: check-case-conflict # проверяет файлы, которые могут конфликтовать в файловых системах без учета регистра.
|
|
|
|
|
- id: check-merge-conflict # проверяет файлы, содержащие конфликтные строки слияния.
|
|
|
|
|
|
|
|
|
|
# Отсортировывает импорты в проекте
|
|
|
|
|
- repo: https://github.com/pycqa/isort
|
|
|
|
|
rev: 5.12.0
|
|
|
|
|
hooks:
|
|
|
|
|
- id: isort
|
|
|
|
|
exclude: __init__.py
|
|
|
|
|
args: [ --profile, black, --filter-files ]
|
|
|
|
|
|
|
|
|
|
# Обновляет синтаксис Python кода в соответствии с последними версиями
|
|
|
|
|
- repo: https://github.com/asottile/pyupgrade
|
|
|
|
|
rev: v3.3.1
|
|
|
|
|
hooks:
|
|
|
|
|
- id: pyupgrade
|
2024-03-14 23:01:58 +03:00
|
|
|
|
args: [ --py310-plus ]
|
2024-03-14 22:27:37 +03:00
|
|
|
|
|
|
|
|
|
# Форматирует код под PEP8
|
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-autopep8
|
|
|
|
|
rev: v2.0.1
|
|
|
|
|
hooks:
|
|
|
|
|
- id: autopep8
|
|
|
|
|
args: [ "-i", "--in-place", "--max-line-length=120" ]
|
|
|
|
|
|
|
|
|
|
# Сканер стилистических ошибок, нарушающие договоренности PEP8
|
|
|
|
|
- repo: https://github.com/PyCQA/flake8
|
|
|
|
|
rev: 6.0.0
|
|
|
|
|
hooks:
|
|
|
|
|
- id: flake8
|
|
|
|
|
exclude: __init__.py
|
|
|
|
|
args: [ "--ignore=E501,F821", "--max-line-length=120" ]
|
|
|
|
|
|
|
|
|
|
# Форматирует код под PEP8 c помощью black
|
|
|
|
|
- repo: https://github.com/psf/black
|
|
|
|
|
rev: 23.1.0
|
|
|
|
|
hooks:
|
|
|
|
|
- id: black
|
2024-03-14 23:01:58 +03:00
|
|
|
|
language_version: python3.10
|
2024-03-14 22:27:37 +03:00
|
|
|
|
args: [ "--line-length=120" ]
|
|
|
|
|
|
|
|
|
|
# Проверка статических типов с помощью mypy
|
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
|
|
|
rev: v0.991
|
|
|
|
|
hooks:
|
|
|
|
|
- id: mypy
|
2024-03-14 23:01:58 +03:00
|
|
|
|
exclude: 'test_api.migrations'
|
2024-03-14 22:27:37 +03:00
|
|
|
|
args: [--no-strict-optional, --ignore-missing-imports]
|