exclude: '^nucypher/blockchain/eth/contract_registry/*' repos: - repo: local hooks: # Custom - id: Validate CircleCI name: Validate CircleCI Config entry: ./scripts/hooks/validate_circleci_config.sh language: script - id: tests name: Run Nucypher Unit Tests entry: scripts/hooks/run_unit_tests.sh language: system types: [python] stages: [push] # required additional setup: pre-commit install && pre-commit install -t pre-push - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.3.0 hooks: # Git - id: forbid-new-submodules # Files - id: check-byte-order-marker - id: check-executables-have-shebangs - id: check-added-large-files - id: check-symlinks - id: end-of-file-fixer # Syntax - id: check-yaml - id: check-toml - id: check-ast # Code - id: check-merge-conflict - id: debug-statements - id: detect-private-key # Docs - id: check-vcs-permalinks - repo: https://github.com/Lucas-C/pre-commit-hooks rev: ffbd448645bad2e7ca13f96fca5830058d27ccd5 hooks: # License - id: insert-license files: \.py$ # only target python files, for example - skip contract_registry.json args: [--license-filepath, '.nucypher-license', --detect-license-in-X-top-lines=16, --comment-style, '"""||"""'] # TODO: May be incrementally introduced # - repo: https://github.com/PyCQA/bandit # rev: '1.6.2' # hooks: # - id: bandit # args: [--recursive, --ini, .bandit, aggregate, file] # files: .py$ # # - repo: https://gitlab.com/pycqa/flake8 # rev: '3.7.9' # hooks: # - id: flake8 # - repo: https://github.com/psf/black # rev: stable # hooks: # - id: black # language_version: python3.6