Spaces:
Running
Running
| default_language_version: | |
| python: python3 | |
| repos: | |
| - repo: https://github.com/pre-commit/pre-commit-hooks | |
| rev: v4.4.0 | |
| hooks: | |
| # list of supported hooks: https://pre-commit.com/hooks.html | |
| - id: trailing-whitespace | |
| - id: end-of-file-fixer | |
| - id: check-docstring-first | |
| - id: check-yaml | |
| - id: debug-statements | |
| - id: detect-private-key | |
| - id: check-executables-have-shebangs | |
| - id: check-toml | |
| - id: check-case-conflict | |
| # python code formatting | |
| - repo: https://github.com/psf/black | |
| rev: 23.3.0 | |
| hooks: | |
| - id: black | |
| args: [--line-length, "99"] | |
| # python import sorting | |
| - repo: https://github.com/PyCQA/isort | |
| rev: 5.12.0 | |
| hooks: | |
| - id: isort | |
| args: ["--profile", "black", "--filter-files"] | |
| # python upgrading syntax to newer version | |
| - repo: https://github.com/asottile/pyupgrade | |
| rev: v3.3.1 | |
| hooks: | |
| - id: pyupgrade | |
| args: [--py38-plus] | |
| # python docstring formatting | |
| - repo: https://github.com/myint/docformatter | |
| rev: v1.5.1 | |
| hooks: | |
| - id: docformatter | |
| args: [--in-place, --wrap-summaries=99, --wrap-descriptions=99] | |
| # python check (PEP8), programming errors and code complexity | |
| - repo: https://github.com/PyCQA/flake8 | |
| rev: 6.0.0 | |
| hooks: | |
| - id: flake8 | |
| args: | |
| [ | |
| "--extend-ignore", | |
| "E402", | |
| "--per-file-ignores", | |
| "__init__.py:F401", | |
| "--exclude", | |
| "artifacts/*,data/*,logs/*", | |
| "--max-line-length", | |
| "99", | |
| ] | |
| # python security linter | |
| - repo: https://github.com/PyCQA/bandit | |
| rev: "1.7.5" | |
| hooks: | |
| - id: bandit | |
| args: ["-s", "B101,B202"] | |
| # python type checker | |
| - repo: https://github.com/mattseymour/pre-commit-pytype | |
| rev: 2022.4.26 | |
| hooks: | |
| - id: pytype | |
| args: ["--disable", "import-error,not-supported-yet", "-n", "auto"] | |
| # yaml formatting | |
| - repo: https://github.com/pre-commit/mirrors-prettier | |
| rev: v3.0.0-alpha.6 | |
| hooks: | |
| - id: prettier | |
| types: [yaml] | |
| # shell scripts linter | |
| - repo: https://github.com/shellcheck-py/shellcheck-py | |
| rev: v0.9.0.2 | |
| hooks: | |
| - id: shellcheck | |
| # md formatting | |
| - repo: https://github.com/executablebooks/mdformat | |
| rev: 0.7.16 | |
| hooks: | |
| - id: mdformat | |
| args: ["--number"] | |
| additional_dependencies: | |
| - mdformat-gfm | |
| - mdformat-tables | |
| - mdformat_frontmatter | |
| # - mdformat-toc | |
| # - mdformat-black | |
| # word spelling linter | |
| - repo: https://github.com/codespell-project/codespell | |
| rev: v2.2.4 | |
| hooks: | |
| - id: codespell | |
| args: | |
| - --skip=artifacts/**,data/**,logs/**,*.ipynb,*.bib,*.js | |
| - --ignore-words-list=bu | |
| # jupyter notebook cell output clearing | |
| - repo: https://github.com/kynan/nbstripout | |
| rev: 0.6.1 | |
| hooks: | |
| - id: nbstripout | |
| # jupyter notebook linting | |
| - repo: https://github.com/nbQA-dev/nbQA | |
| rev: 1.7.0 | |
| hooks: | |
| - id: nbqa-black | |
| args: ["--line-length=99"] | |
| - id: nbqa-isort | |
| args: ["--profile=black"] | |
| - id: nbqa-flake8 | |
| args: | |
| [ | |
| "--extend-ignore=E203,E402,E501,F401,F841", | |
| "--exclude=artifacts/*,data/*,logs/*", | |
| ] | |