exclude: '.project-template|docs/conf.py'
repos:
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.5.0
    hooks:
    -   id: check-yaml
    -   id: check-toml
    -   id: end-of-file-fixer
    -   id: trailing-whitespace
-   repo: https://github.com/asottile/pyupgrade
    rev: v3.15.0
    hooks:
    -   id: pyupgrade
        args: [--py38-plus]
-   repo: https://github.com/psf/black
    rev: 23.9.1
    hooks:
    -   id: black
-   repo: https://github.com/PyCQA/flake8
    rev: 6.1.0
    hooks:
    -   id: flake8
        additional_dependencies:
        -   flake8-bugbear==23.9.16
        exclude: setup.py
-   repo: https://github.com/PyCQA/autoflake
    rev: v2.2.1
    hooks:
    -   id: autoflake
-   repo: https://github.com/pycqa/isort
    rev: 5.12.0
    hooks:
    -   id: isort
-   repo: https://github.com/pycqa/pydocstyle
    rev: 6.3.0
    hooks:
    -   id: pydocstyle
        additional_dependencies:
        -   tomli  # required until >= python311
-   repo: https://github.com/executablebooks/mdformat
    rev: 0.7.17
    hooks:
    -   id: mdformat
        additional_dependencies:
        -   mdformat-gfm
-   repo: local
    hooks:
    -   id: mypy-local
        name: run mypy with all dev dependencies present
        entry: python -m mypy -p py_ecc
        language: system
        always_run: true
        pass_filenames: false
-   repo: https://github.com/PrincetonUniversity/blocklint
    rev: v0.2.5
    hooks:
    -   id: blocklint
        exclude: 'docs/Makefile|docs/release_notes.rst|tox.ini'
-   repo: local
    hooks:
    -   id: check-rst-files
        name: Check for .rst files in the top-level directory
        entry: sh -c 'ls *.rst 1>/dev/null 2>&1 && { echo "found .rst file in top-level folder"; exit 1; } || exit 0'
        language: system
        always_run: true
        pass_filenames: false
