# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. exclude: ^(src/grpc_generated|.*\.patch$) repos: - repo: https://github.com/timothycrosley/isort rev: 5.12.0 hooks: - id: isort additional_dependencies: [toml] - repo: https://github.com/psf/black rev: 23.1.0 hooks: - id: black types_or: [python, cython] - repo: https://github.com/PyCQA/flake8 rev: 5.0.4 hooks: - id: flake8 args: [--max-line-length=88, --select=C,E,F,W,B,B950, --extend-ignore = E203,E501] types_or: [python, cython] - repo: https://github.com/pre-commit/mirrors-clang-format rev: v16.0.5 hooks: - id: clang-format types_or: [c, c++, cuda, proto, textproto, java] args: ["-fallback-style=none", "-style=file", "-i"] - repo: https://github.com/codespell-project/codespell rev: v2.2.4 hooks: - id: codespell # Use pyproject.toml for codespell configuration additional_dependencies: [tomli] # More details about these pre-commit hooks here: # https://pre-commit.com/hooks.html - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 hooks: - id: check-case-conflict - id: check-executables-have-shebangs - id: check-merge-conflict - id: check-json exclude: .devcontainer - id: check-toml - id: check-yaml exclude: ^.*/templates/.*\.yaml$ #ignore all yaml files in helm chart templates - id: check-shebang-scripts-are-executable - id: end-of-file-fixer types_or: [c, c++, cuda, proto, textproto, java, python] - id: mixed-line-ending - id: requirements-txt-fixer - id: trailing-whitespace # NOTE: removing from pre commit # will move to gitlab ci to run in proper # container #- repo: https://github.com/pre-commit/mirrors-mypy # rev: v1.13.0 # hooks: # - id: mypy # exclude: model.py # WAR errors about 'model.py' duplicate module name # Fast linting - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.5.2 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] # NOTE: pyright may be able to find other classes of errors not covered above, # but would require some configuring and venv setup to properly eliminate noise # and give it visiblity into all the local and third_party packages expected.