klaasnicolaas/python-zurich

View on GitHub
.pre-commit-config.yaml

Summary

Maintainability
Test Coverage
---
repos:
  - repo: local
    hooks:
      - id: ruff-check
        name: ๐Ÿถ Ruff Linter
        language: system
        types: [python]
        entry: poetry run ruff check --fix
        require_serial: true
        stages: [commit, push, manual]
      - id: ruff-format
        name: ๐Ÿถ Ruff Formatter
        language: system
        types: [python]
        entry: poetry run ruff format
        require_serial: true
        stages: [commit, push, manual]
      - id: blacken-docs
        name: โ˜•๏ธ Format documentation examples using black
        language: system
        files: '\.(rst|md|markdown|py|tex)$'
        entry: poetry run blacken-docs
        require_serial: true
      - id: check-ast
        name: ๐Ÿ Check Python AST
        language: system
        types: [python]
        entry: poetry run check-ast
      - id: check-case-conflict
        name: ๐Ÿ”  Check for case conflicts
        language: system
        entry: poetry run check-case-conflict
      - id: check-docstring-first
        name: โ„น๏ธ  Check docstring is first
        language: system
        types: [python]
        entry: poetry run check-docstring-first
      - id: check-executables-have-shebangs
        name: ๐Ÿง Check that executables have shebangs
        language: system
        types: [text, executable]
        entry: poetry run check-executables-have-shebangs
        stages: [commit, push, manual]
      - id: check-json
        name: ๏ฝ› Check JSON files
        language: system
        types: [json]
        entry: poetry run check-json
      - id: check-merge-conflict
        name: ๐Ÿ’ฅ Check for merge conflicts
        language: system
        types: [text]
        entry: poetry run check-merge-conflict
      - id: check-symlinks
        name: ๐Ÿ”— Check for broken symlinks
        language: system
        types: [symlink]
        entry: poetry run check-symlinks
      - id: check-toml
        name: โœ… Check TOML files
        language: system
        types: [toml]
        entry: poetry run check-toml
      - id: check-xml
        name: โœ… Check XML files
        entry: poetry run check-xml
        language: system
        types: [xml]
      - id: check-yaml
        name: โœ… Check YAML files
        language: system
        types: [yaml]
        entry: poetry run check-yaml
      - id: codespell
        name: โœ… Check code for common misspellings
        language: system
        types: [text]
        exclude: ^poetry\.lock$
        entry: poetry run codespell
        args: [--ignore-words=.codespell-ignore]
      - id: detect-private-key
        name: ๐Ÿ•ต๏ธ  Detect Private Keys
        language: system
        types: [text]
        entry: poetry run detect-private-key
      - id: end-of-file-fixer
        name: โฎ  Fix End of Files
        language: system
        types: [text]
        entry: poetry run end-of-file-fixer
        stages: [commit, push, manual]
      - id: mypy
        name: ๐Ÿ†Ž Static type checking using mypy
        language: system
        types: [python]
        entry: poetry run mypy
      - id: no-commit-to-branch
        name: ๐Ÿ›‘ Don't commit to main branch
        language: system
        entry: poetry run no-commit-to-branch
        pass_filenames: false
        always_run: true
        args:
          - --branch=main
      - id: poetry
        name: ๐Ÿ“œ Check pyproject with Poetry
        language: system
        entry: poetry check
        pass_filenames: false
        always_run: true
      - id: pylint
        name: ๐ŸŒŸ Starring code with pylint
        language: system
        types: [python]
        entry: poetry run pylint
      - id: pytest
        name: ๐Ÿงช Running tests and test coverage with pytest
        language: system
        types: [python]
        entry: poetry run pytest
        pass_filenames: false
      - id: trailing-whitespace
        name: โœ„  Trim Trailing Whitespace
        language: system
        types: [text]
        entry: poetry run trailing-whitespace-fixer
        stages: [commit, push, manual]
      - id: yamllint
        name: ๐ŸŽ— Check YAML files with yamllint
        language: system
        types: [yaml]
        entry: poetry run yamllint