default_language_version:
  python: python3.10

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
  rev: v4.4.0
  hooks:
  - id: end-of-file-fixer
    exclude: (.txt$|.ipynb$)
  - id: trailing-whitespace
    exclude: (.txt$|README.md$)
  - id: check-yaml
  - id: check-json
  - id: check-toml
  - id: check-xml
  # - id: check-added-large-files
  #   args: [--enforce-all]
  - id: name-tests-test
  - id: detect-private-key
  - id: check-case-conflict
  - id: check-symlinks
  - id: check-docstring-first

- repo: https://github.com/psf/black
  rev: 22.12.0
  hooks:
  - id: black
    args: [--config=pyproject.toml]
  - id: black-jupyter
    args: [--config=pyproject.toml]

- repo: https://github.com/seandstewart/pre-commit-poetry-export
  rev: f0501a85959a71c26b964d9542a78d1033af083e
  hooks: []
  # - id: export-requirements
  # - id: export-requirements-dev

- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
  rev: v2.6.0
  hooks:
  - id: pretty-format-ini
    args: [--autofix]
  - id: pretty-format-toml
    args: [--autofix]
    exclude: ((pyproject.toml)|(poetry.lock)$)
  - id: pretty-format-yaml
    args: [--autofix]
    exclude: (docker-compose.yaml$)

- repo: https://github.com/jendrikseipp/vulture
  rev: v2.7  # or any later Vulture version
  hooks:
  - id: vulture

- repo: https://github.com/domdfcoding/flake2lint
  rev: v0.4.2
  hooks:
  - id: flake2lint

- repo: https://github.com/PyCQA/flake8
  rev: 6.0.0
  hooks:
  - id: flake8
    args: [--config=.flake8]

- repo: https://github.com/pre-commit/mirrors-mypy
  rev: v0.991
  hooks:
  - id: mypy

- repo: https://github.com/frnmst/md-toc
  rev: 8.1.8
  hooks:
  - id: md-toc

- repo: https://gitlab.com/smop/pre-commit-hooks
  rev: v1.0.0
  hooks:
  - id: check-poetry

- repo: https://github.com/Lucas-C/pre-commit-hooks-java
  rev: 1.3.10
  hooks:
  - id: validate-html
