repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
      - id: check-yaml
      - id: end-of-file-fixer
      - id: trailing-whitespace
      - id: check-toml
  - repo: https://github.com/rhysd/actionlint
    rev: v1.7.4
    hooks:
      - id: actionlint
  - repo: https://github.com/tox-dev/pyproject-fmt
    rev: v2.5.0
    hooks:
      - id: pyproject-fmt
  - repo: https://github.com/psf/black
    rev: 24.10.0
    hooks:
      - id: black
  - repo: https://github.com/adamchainz/blacken-docs
    rev: "1.19.1"
    hooks:
      - id: blacken-docs
        exclude_types: ["markdown"]
  - repo: https://github.com/pycqa/isort
    rev: 5.13.2
    hooks:
      - id: isort
  - repo: https://github.com/python-poetry/poetry
    rev: 1.8.0
    hooks:
      - id: poetry-check
      - id: poetry-lock
  - repo: https://github.com/google/yamlfmt
    rev: v0.14.0
    hooks:
      - id: yamlfmt
  - repo: https://github.com/tox-dev/tox-ini-fmt
    rev: 1.4.1
    hooks:
      - id: tox-ini-fmt
  - repo: https://github.com/PyCQA/flake8
    rev: 7.1.1
    hooks:
      - id: flake8
        args: ["--max-line-length", "88"]
  - repo: https://github.com/asottile/pyupgrade
    rev: v3.19.0
    hooks:
      - id: pyupgrade
        exclude: "tests/"
  - repo: local
    hooks:
      - id: readme
        name: reandering readme
        entry: poetry run python -m docs
        language: system
        files: ^docs/(benchmark\.md|README\.md\.jinja2)$