repos:
-   repo: https://github.com/psf/black
    rev: 19.10b0
    hooks:
    -   id: black
        args: [--safe, --quiet]
-   repo: https://github.com/asottile/blacken-docs
    rev: v1.8.0
    hooks:
    -   id: blacken-docs
        additional_dependencies: [black==19.10b0]
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v3.2.0
    hooks:
    -   id: trailing-whitespace
    -   id: end-of-file-fixer
    -   id: fix-encoding-pragma
        args: [--remove]
    -   id: check-yaml
    -   id: debug-statements
        exclude: _pytest/(debugging|hookspec).py
        language_version: python3
-   repo: https://gitlab.com/pycqa/flake8
    rev: 3.8.3
    hooks:
    -   id: flake8
        language_version: python3
        additional_dependencies:
          - flake8-typing-imports==1.9.0
          - flake8-docstrings==1.5.0
-   repo: https://github.com/asottile/reorder_python_imports
    rev: v2.3.5
    hooks:
    -   id: reorder-python-imports
        args: ['--application-directories=.:src', --py36-plus]
-   repo: https://github.com/asottile/pyupgrade
    rev: v2.7.2
    hooks:
    -   id: pyupgrade
        args: [--py36-plus]
-   repo: https://github.com/asottile/setup-cfg-fmt
    rev: v1.11.0
    hooks:
    -   id: setup-cfg-fmt
        # TODO: when upgrading setup-cfg-fmt this can be removed
        args: [--max-py-version=3.9]
-   repo: https://github.com/pre-commit/pygrep-hooks
    rev: v1.6.0
    hooks:
    -   id: python-use-type-annotations
-   repo: https://github.com/pre-commit/mirrors-mypy
    rev: v0.782  # NOTE: keep this in sync with setup.cfg.
    hooks:
    -   id: mypy
        files: ^(src/|testing/)
        args: []
-   repo: local
    hooks:
    -   id: rst
        name: rst
        entry: rst-lint --encoding utf-8
        files: ^(RELEASING.rst|README.rst|TIDELIFT.rst)$
        language: python
        additional_dependencies: [pygments, restructuredtext_lint]
    -   id: changelogs-rst
        name: changelog filenames
        language: fail
        entry: 'changelog files must be named ####.(breaking|bugfix|deprecation|doc|feature|improvement|trivial|vendor).rst'
        exclude: changelog/(\d+\.(breaking|bugfix|deprecation|doc|feature|improvement|trivial|vendor).rst|README.rst|_template.rst)
        files: ^changelog/
    -   id: py-deprecated
        name: py library is deprecated
        language: pygrep
        entry: >
            (?x)\bpy\.(
                _code\.|
                builtin\.|
                code\.|
                io\.|
                path\.local\.sysfind|
                process\.|
                std\.|
                error\.|
                xml\.
            )
        types: [python]
