--- ci: autofix_prs: false autoupdate_schedule: 'quarterly' exclude: | (?x)^( extern| LICENSE| lib/matplotlib/mpl-data| doc/devel/gitwash| doc/users/prev| doc/api/prev| lib/matplotlib/tests/tinypages ) repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.5.0 hooks: - id: check-added-large-files - id: check-docstring-first exclude: lib/matplotlib/typing.py # docstring used for attribute flagged by check - id: end-of-file-fixer exclude_types: [svg] - id: mixed-line-ending - id: name-tests-test args: ["--pytest-test-first"] - id: no-commit-to-branch # Default is master and main. - id: trailing-whitespace exclude_types: [svg] - repo: https://github.com/pre-commit/mirrors-mypy rev: v1.9.0 hooks: - id: mypy additional_dependencies: - pandas-stubs - types-pillow - types-python-dateutil - types-psutil - types-docutils - types-PyYAML args: ["--config-file=pyproject.toml", "lib/matplotlib"] files: lib/matplotlib # Only run when files in lib/matplotlib are changed. pass_filenames: false - repo: https://github.com/pycqa/flake8 rev: 7.0.0 hooks: - id: flake8 additional_dependencies: - pydocstyle>5.1.0 - flake8-docstrings>1.4.0 - flake8-force args: ["--docstring-convention=all"] - repo: https://github.com/codespell-project/codespell rev: v2.2.6 hooks: - id: codespell files: ^.*\.(py|c|cpp|h|m|md|rst|yml)$ args: - "--ignore-words" - "ci/codespell-ignore-words.txt" - "--skip" - "doc/project/credits.rst" - repo: https://github.com/pycqa/isort rev: 5.13.2 hooks: - id: isort name: isort (python) files: ^galleries/tutorials/|^galleries/examples/|^galleries/plot_types/ - repo: https://github.com/rstcheck/rstcheck rev: v6.2.0 hooks: - id: rstcheck additional_dependencies: - sphinx>=1.8.1 - tomli - repo: https://github.com/adrienverge/yamllint rev: v1.35.1 hooks: - id: yamllint args: ["--strict", "--config-file=.yamllint.yml"] - repo: https://github.com/python-jsonschema/check-jsonschema rev: 0.28.4 hooks: # TODO: Re-enable this when https://github.com/microsoft/azure-pipelines-vscode/issues/567 is fixed. # - id: check-azure-pipelines - id: check-dependabot - id: check-github-workflows # NOTE: If any of the below schema files need to be changed, be sure to # update the `ci/vendor_schemas.py` script. - id: check-jsonschema name: "Validate AppVeyor config" files: ^\.appveyor\.yml$ args: ["--verbose", "--schemafile", "ci/schemas/appveyor.json"] - id: check-jsonschema name: "Validate CircleCI config" files: ^\.circleci/config\.yml$ args: ["--verbose", "--schemafile", "ci/schemas/circleciconfig.json"] - id: check-jsonschema name: "Validate GitHub funding file" files: ^\.github/FUNDING\.yml$ args: ["--verbose", "--schemafile", "ci/schemas/github-funding.json"] - id: check-jsonschema name: "Validate GitHub issue config" files: ^\.github/ISSUE_TEMPLATE/config\.yml$ args: ["--verbose", "--schemafile", "ci/schemas/github-issue-config.json"] - id: check-jsonschema name: "Validate GitHub issue templates" files: ^\.github/ISSUE_TEMPLATE/.*\.yml$ exclude: ^\.github/ISSUE_TEMPLATE/config\.yml$ args: ["--verbose", "--schemafile", "ci/schemas/github-issue-forms.json"] - id: check-jsonschema name: "Validate CodeCov config" files: ^\.github/codecov\.yml$ args: ["--verbose", "--schemafile", "ci/schemas/codecov.json"] - id: check-jsonschema name: "Validate GitHub labeler config" files: ^\.github/labeler\.yml$ args: ["--verbose", "--schemafile", "ci/schemas/pull-request-labeler-5.json"] - id: check-jsonschema name: "Validate Conda environment file" files: ^environment\.yml$ args: ["--verbose", "--schemafile", "ci/schemas/conda-environment.json"]