diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c8d881e8..73e6ce82c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,10 +23,10 @@ jobs: runs-on: ${{ matrix.platform }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v7 with: enable-cache: true cache-dependency-glob: '**/pyproject.toml' @@ -35,10 +35,16 @@ jobs: run: | # We run tests against "." and not the tests directory as we test the README # and documentation. - uv run --extra=dev --python=${{ matrix.python-version }} pytest -s -vvv --cov-fail-under 100 --cov=src/ --cov=tests/ . --cov-report=xml + uv run --extra=dev --python=${{ matrix.python-version }} pytest -s -vvv --cov-fail-under 100 --cov=src/ --cov=tests/ . - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - fail_ci_if_error: true - token: ${{ secrets.CODECOV_TOKEN }} + completion-ci: + needs: build + runs-on: ubuntu-latest + if: always() # Run even if one matrix job fails + steps: + - name: Check matrix job status + run: |- + if ! ${{ needs.build.result == 'success' }}; then + echo "One or more matrix jobs failed" + exit 1 + fi diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index def06bdb9..fbdc4c6ce 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -23,10 +23,10 @@ jobs: runs-on: ${{ matrix.platform }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v7 with: enable-cache: true cache-dependency-glob: '**/pyproject.toml' @@ -41,3 +41,15 @@ jobs: - uses: pre-commit-ci/lite-action@v1.1.0 if: always() + + completion-lint: + needs: build + runs-on: ubuntu-latest + if: always() # Run even if one matrix job fails + steps: + - name: Check matrix job status + run: |- + if ! ${{ needs.build.result == 'success' }}; then + echo "One or more matrix jobs failed" + exit 1 + fi diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e44c847b8..60b4f9398 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: contents: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: # See # https://github.com/stefanzweifel/git-auto-commit-action?tab=readme-ov-file#push-to-protected-branches @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: Install uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v7 with: enable-cache: true cache-dependency-glob: '**/pyproject.toml' @@ -55,6 +55,7 @@ jobs: echo "underline=${underline}" >> "$GITHUB_OUTPUT" - name: Update changelog + id: update_changelog uses: jacobtomlinson/gha-find-replace@v3 with: find: "Next\n----" @@ -63,7 +64,13 @@ jobs: include: CHANGELOG.rst regex: false - - uses: stefanzweifel/git-auto-commit-action@v5 + - name: Check Update changelog was modified + run: | + if [ "${{ steps.update_changelog.outputs.modifiedFiles }}" = "0" ]; then + echo "Error: No files were modified when updating changelog" + exit 1 + fi + - uses: stefanzweifel/git-auto-commit-action@v7 id: commit with: commit_message: Bump CHANGELOG diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cf9bf80da..869dd167b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,6 +25,8 @@ ci: - pyright - pyright-docs - pyright-verifytypes + - ty + - ty-docs - pyroma - ruff-check-fix - ruff-check-fix-docs @@ -45,31 +47,49 @@ repos: - repo: meta hooks: - id: check-useless-excludes + stages: [pre-commit] - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + rev: v6.0.0 hooks: - id: check-added-large-files + stages: [pre-commit] - id: check-case-conflict + stages: [pre-commit] - id: check-executables-have-shebangs + stages: [pre-commit] - id: check-merge-conflict + stages: [pre-commit] - id: check-shebang-scripts-are-executable + stages: [pre-commit] - id: check-symlinks + stages: [pre-commit] - id: check-json + stages: [pre-commit] - id: check-toml + stages: [pre-commit] - id: check-vcs-permalinks + stages: [pre-commit] - id: check-yaml + stages: [pre-commit] - id: end-of-file-fixer + stages: [pre-commit] - id: file-contents-sorter files: spelling_private_dict\.txt$ + stages: [pre-commit] - id: trailing-whitespace + stages: [pre-commit] - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.10.0 hooks: - id: rst-directive-colons + stages: [pre-commit] - id: rst-inline-touching-normal + stages: [pre-commit] - id: text-unicode-replacement-char + stages: [pre-commit] - id: rst-backticks + stages: [pre-commit] - repo: local hooks: - id: actionlint @@ -78,37 +98,41 @@ repos: language: python pass_filenames: false types_or: [yaml] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: docformatter name: docformatter entry: uv run --extra=dev -m docformatter --in-place language: python types_or: [python] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: shellcheck name: shellcheck entry: uv run --extra=dev shellcheck --shell=bash language: python - pass_filenames: false types_or: [shell] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: shellcheck-docs name: shellcheck-docs - entry: uv run --extra=dev doccmd --language=shell --language=console --command="shellcheck - --shell=bash" + entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=shell + --language=console --command="shellcheck --shell=bash" language: python types_or: [markdown, rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: shfmt name: shfmt entry: uv run --extra=dev shfmt --write --space-redirects --indent=4 language: python types_or: [shell] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: shfmt-docs name: shfmt-docs @@ -116,7 +140,8 @@ repos: --no-pad-file --command="shfmt --write --space-redirects --indent=4" language: python types_or: [markdown, rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: mypy name: mypy @@ -125,15 +150,16 @@ repos: language: python types_or: [python, toml] pass_filenames: false - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] - id: mypy-docs name: mypy-docs stages: [pre-push] - entry: uv run --extra=dev doccmd --language=python --command="mypy" + entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python + --command="mypy" language: python types_or: [markdown, rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] - id: check-manifest name: check-manifest @@ -141,7 +167,7 @@ repos: entry: uv run --extra=dev -m check_manifest language: python pass_filenames: false - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] - id: pyright name: pyright @@ -150,15 +176,16 @@ repos: language: python types_or: [python, toml] pass_filenames: false - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] - id: pyright-docs name: pyright-docs stages: [pre-push] - entry: uv run --extra=dev doccmd --language=python --command="pyright" + entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python + --command="pyright" language: python types_or: [markdown, rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] - id: vulture name: vulture @@ -166,14 +193,17 @@ repos: language: python types_or: [python] pass_filenames: false - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: vulture-docs name: vulture docs - entry: uv run --extra=dev doccmd --language=python --command="vulture" + entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python + --command="vulture" language: python types_or: [markdown, rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: pyroma name: pyroma @@ -181,14 +211,16 @@ repos: language: python pass_filenames: false types_or: [toml] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: deptry name: deptry entry: uv run --extra=dev -m deptry src/ language: python pass_filenames: false - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: pylint name: pylint @@ -196,36 +228,40 @@ repos: language: python stages: [manual] pass_filenames: false - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] - id: pylint-docs name: pylint-docs - entry: uv run --extra=dev doccmd --language=python --command="pylint" + entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python + --command="pylint" language: python stages: [manual] types_or: [markdown, rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] - id: ruff-check-fix name: Ruff check fix entry: uv run --extra=dev -m ruff check --fix language: python types_or: [python] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: ruff-check-fix-docs name: Ruff check fix docs entry: uv run --extra=dev doccmd --language=python --command="ruff check --fix" language: python types_or: [markdown, rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: ruff-format-fix name: Ruff format entry: uv run --extra=dev -m ruff format language: python types_or: [python] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: ruff-format-fix-docs name: Ruff format docs @@ -233,28 +269,33 @@ repos: format" language: python types_or: [markdown, rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: doc8 name: doc8 entry: uv run --extra=dev -m doc8 language: python types_or: [rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: interrogate name: interrogate entry: uv run --extra=dev -m interrogate language: python types_or: [python] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: interrogate-docs name: interrogate docs - entry: uv run --extra=dev doccmd --language=python --command="interrogate" + entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python + --command="interrogate" language: python types_or: [markdown, rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: pyproject-fmt-fix name: pyproject-fmt @@ -262,33 +303,36 @@ repos: language: python types_or: [toml] files: pyproject.toml - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: linkcheck name: linkcheck - entry: make -C docs/ linkcheck SPHINXOPTS=-W + entry: uv run --extra=dev sphinx-build -M linkcheck docs/source docs/build + -W language: python types_or: [rst] stages: [manual] pass_filenames: false - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] - id: spelling name: spelling - entry: make -C docs/ spelling SPHINXOPTS=-W + entry: uv run --extra=dev sphinx-build -M spelling docs/source docs/build + -W language: python types_or: [rst] stages: [manual] pass_filenames: false - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] - id: docs name: Build Documentation - entry: make docs + entry: uv run --extra=dev sphinx-build -M html docs/source docs/build -W language: python stages: [manual] pass_filenames: false - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] - id: pyright-verifytypes name: pyright-verifytypes @@ -297,18 +341,38 @@ repos: language: python pass_filenames: false types_or: [python] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + + - id: ty + name: ty + stages: [pre-push] + entry: uv run --extra=dev ty check + language: python + types_or: [python, toml] + pass_filenames: false + additional_dependencies: [uv==0.9.5] + + - id: ty-docs + name: ty-docs + stages: [pre-push] + entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python + --command="ty check" + language: python + types_or: [markdown, rst] + additional_dependencies: [uv==0.9.5] - id: yamlfix name: yamlfix entry: uv run --extra=dev yamlfix language: python types_or: [yaml] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] - id: sphinx-lint name: sphinx-lint entry: uv run --extra=dev sphinx-lint --enable=all --disable=line-too-long language: python types_or: [rst] - additional_dependencies: [uv==0.6.3] + additional_dependencies: [uv==0.9.5] + stages: [pre-commit] diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..3ab9aa054 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,10 @@ +{ + "overrides": [ + { + "files": ["*.yaml", "*.yml"], + "options": { + "singleQuote": true + } + } + ] +} diff --git a/LICENSE b/LICENSE index ef26969f8..c9f18d1a3 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,6 @@ -The MIT License +MIT License + +Copyright (c) 2025 Adam Dangoor Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -7,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Makefile b/Makefile deleted file mode 100644 index 216a25740..000000000 --- a/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -SHELL := /bin/bash -euxo pipefail - -# Treat Sphinx warnings as errors -SPHINXOPTS := -W - -.PHONY: docs -docs: - make -C docs clean html SPHINXOPTS=$(SPHINXOPTS) - -.PHONY: open-docs -open-docs: - python -c 'import os, webbrowser; webbrowser.open("file://" + os.path.abspath("docs/build/html/index.html"))' diff --git a/README.rst b/README.rst index 3cd5bb22c..dea6bb93d 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -|Build Status| |codecov| |PyPI| +|Build Status| |PyPI| vws-python ========== @@ -71,8 +71,6 @@ See the `full documentation `__. .. |Build Status| image:: https://github.com/VWS-Python/vws-python/actions/workflows/ci.yml/badge.svg?branch=main :target: https://github.com/VWS-Python/vws-python/actions -.. |codecov| image:: https://codecov.io/gh/VWS-Python/vws-python/branch/main/graph/badge.svg - :target: https://codecov.io/gh/VWS-Python/vws-python .. |PyPI| image:: https://badge.fury.io/py/VWS-Python.svg :target: https://badge.fury.io/py/VWS-Python .. |minimum-python-version| replace:: 3.13 diff --git a/codecov.yaml b/codecov.yaml deleted file mode 100644 index 5c35baac9..000000000 --- a/codecov.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -coverage: - status: - patch: - default: - # Require 100% test coverage. - target: 100% diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index 15e9c44b1..000000000 --- a/docs/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -SPHINXPROJ = VWSPYTHON -SOURCEDIR = source -BUILDDIR = build - -# Put it first so that "make" without argument is like "make help". -help: - @uv run --extra=dev $(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help Makefile - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - @uv run --extra=dev $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/source/conf.py b/docs/source/conf.py index 8c7e78f05..914bcb886 100755 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -60,6 +60,9 @@ html_show_sourcelink = False html_theme_options = { "sidebar_hide_name": False, + "source_repository": "https://github.com/VWS-Python/vws-python/", + "source_branch": "main", + "source_directory": "docs/source/", } # Output file base name for HTML help builder. diff --git a/docs/source/contributing.rst b/docs/source/contributing.rst index 21e5dbe82..0e531220d 100644 --- a/docs/source/contributing.rst +++ b/docs/source/contributing.rst @@ -64,8 +64,8 @@ Run the following commands to build and view documentation locally: .. code-block:: console - $ make docs - $ make open-docs + $ uv run --extra=dev sphinx-build -M html docs/source docs/build -W + $ python -c 'import os, webbrowser; webbrowser.open("file://" + os.path.abspath("docs/build/html/index.html"))' Continuous integration ---------------------- diff --git a/pyproject.toml b/pyproject.toml index 6152cd7c7..fbfc2d380 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,6 @@ build-backend = "setuptools.build_meta" requires = [ "setuptools", "setuptools-scm>=8.1.0", - "wheel", ] [project] @@ -15,7 +14,7 @@ keywords = [ "vuforia", "vws", ] -license = { file = "LICENSE" } +license = "MIT" authors = [ { name = "Adam Dangoor", email = "adamdangoor@gmail.com" }, ] @@ -23,7 +22,6 @@ requires-python = ">=3.13" classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", - "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python :: 3 :: Only", @@ -33,55 +31,55 @@ dynamic = [ "version", ] dependencies = [ - "beartype>=0.18.5", + "beartype>=0.22.9", "requests>=2.32.3", "urllib3>=2.2.3", "vws-auth-tools>=2024.7.12", ] optional-dependencies.dev = [ - "actionlint-py==1.7.7.23", - "check-manifest==0.50", - "deptry==0.23.0", - "doc8==1.1.2", - "doccmd==2025.3.6", - "docformatter==1.7.5", - "freezegun==1.5.1", - "furo==2024.8.6", + "actionlint-py==1.7.9.24", + "check-manifest==0.51", + "deptry==0.24.0", + "doc8==2.0.0", + "doccmd==2025.12.13", + "docformatter==1.7.7", + "freezegun==1.5.5", + "furo==2025.9.25", "interrogate==1.7.0", - "mypy[faster-cache]==1.15.0", - "mypy-strict-kwargs==2024.12.25", - "pre-commit==4.1.0", + "mypy[faster-cache]==1.19.1", + "mypy-strict-kwargs==2025.4.3", + "pre-commit==4.5.0", "pydocstyle==6.3", - "pyenchant==3.3.0rc1", - "pygments==2.19.1", - "pylint==3.3.4", - "pylint-per-file-ignores==1.4.0", - "pyproject-fmt==2.5.1", - "pyright==1.1.396", - "pyroma==4.2", - "pytest==8.3.5", - "pytest-cov==6.0.0", - "pyyaml==6.0.2", - "ruff==0.10.0", + "pygments==2.19.2", + "pylint[spelling]==4.0.4", + "pylint-per-file-ignores==3.2.0", + "pyproject-fmt==2.11.1", + "pyright==1.1.407", + "pyroma==5.0.1", + "pytest==9.0.2", + "pytest-cov==7.0.0", + "pyyaml==6.0.3", + "ruff==0.14.9", # We add shellcheck-py not only for shell scripts and shell code blocks, # but also because having it installed means that ``actionlint-py`` will # use it to lint shell commands in GitHub workflow files. - "shellcheck-py==0.10.0.1", - "shfmt-py==3.11.0.2", + "shellcheck-py==0.11.0.1", + "shfmt-py==3.12.0.2", "sphinx==8.2.3", "sphinx-copybutton==0.5.2", - "sphinx-lint==1.0.0", + "sphinx-lint==1.0.2", "sphinx-pyproject==0.3.0", - "sphinx-substitution-extensions==2025.3.3", - "sphinxcontrib-spelling==8.0.1", - "sybil==9.1.0", - "types-requests==2.32.0.20250306", + "sphinx-substitution-extensions==2025.12.15", + "sphinxcontrib-spelling==8.0.2", + "sybil==9.3.0", + "ty==0.0.1a35", + "types-requests==2.32.4.20250913", "vulture==2.14", "vws-python-mock==2025.3.10.1", "vws-test-fixtures==2023.3.5", - "yamlfix==1.17.0", + "yamlfix==1.19.0", ] -optional-dependencies.release = [ "check-wheel-contents==0.6.1" ] +optional-dependencies.release = [ "check-wheel-contents==0.6.3" ] urls.Documentation = "https://vws-python.github.io/vws-python/" urls.Source = "https://github.com/VWS-Python/vws-python" @@ -250,8 +248,9 @@ disable = [ # - We want to use global variables in documentation, which may not be uppercase. # - conf.py is a Sphinx configuration file which requires lowercase global variable names. per-file-ignores = [ - "docs/:invalid-name", - "doccmd_README_rst.*.py:invalid-name", + "docs/source/conf.py:invalid-name", + "docs/source/doccmd_*.py:invalid-name", + "doccmd_README_rst_*.py:invalid-name", ] [tool.pylint.'FORMAT'] @@ -280,6 +279,7 @@ make-summary-multi-line = true ignore = [ ".checkmake-config.ini", + ".prettierrc", ".yamlfmt", "*.enc", ".pre-commit-config.yaml", @@ -290,7 +290,6 @@ ignore = [ "Makefile", "ci", "ci/**", - "codecov.yaml", "doc8.ini", "docs", "docs/**",