From 577046cdd70add1cfd569a2fcdb7fc22d331704b Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 11:43:56 +0000 Subject: [PATCH 01/46] Updated files with 'repo_helper'. (#26) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/actions_build_conda.sh | 22 -------------- .github/actions_deploy_conda.sh | 23 -------------- .github/workflows/conda_ci.yml | 1 + .github/workflows/python_ci.yml | 4 +-- .github/workflows/python_ci_linux.yml | 44 +++++++++++++++++++++------ .github/workflows/python_ci_macos.yml | 4 +-- 6 files changed, 39 insertions(+), 59 deletions(-) delete mode 100755 .github/actions_build_conda.sh delete mode 100755 .github/actions_deploy_conda.sh diff --git a/.github/actions_build_conda.sh b/.github/actions_build_conda.sh deleted file mode 100755 index 1c8409e..0000000 --- a/.github/actions_build_conda.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -# This file is managed by 'repo_helper'. Don't edit it directly. - -set -e -x - -python -m mkrecipe --type wheel || exit 1 - -# Switch to miniconda -source "/home/runner/miniconda/etc/profile.d/conda.sh" -hash -r -conda activate base -conda config --set always_yes yes --set changeps1 no -conda install conda=4.8.5 conda-build=3.18.11 -conda info -a - -conda config --add channels conda-forge || exit 1 -conda config --add channels domdfcoding || exit 1 -conda config --remove channels defaults - -conda build conda -c conda-forge -c domdfcoding --output-folder conda/dist --skip-existing - -exit 0 diff --git a/.github/actions_deploy_conda.sh b/.github/actions_deploy_conda.sh deleted file mode 100755 index 35aff28..0000000 --- a/.github/actions_deploy_conda.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# This file is managed by 'repo_helper'. Don't edit it directly. - -set -e -x - -# Switch to miniconda -source "/home/runner/miniconda/etc/profile.d/conda.sh" -hash -r -conda activate base -conda config --set always_yes yes --set changeps1 no -conda install conda=4.8.5 anaconda-client -conda info -a - -for f in conda/dist/noarch/flake8-encodings-*.tar.bz2; do - [ -e "$f" ] || continue - echo "$f" - conda install "$f" || exit 1 - echo "Deploying to Anaconda.org..." - anaconda -t "$ANACONDA_TOKEN" upload "$f" || exit 1 - echo "Successfully deployed to Anaconda.org." -done - -exit 0 diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index b5ede68..1674b3c 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -39,6 +39,7 @@ jobs: python -m pip install --upgrade pip setuptools wheel python -m pip install --upgrade "whey-conda" "whey" # $CONDA is an environment variable pointing to the root of the miniconda directory + $CONDA/bin/conda update -n base conda $CONDA/bin/conda config --add channels conda-forge $CONDA/bin/conda config --add channels domdfcoding diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index bb2372c..6c6265a 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.5,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.6,pypy-3.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-alpha.5", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-alpha.6", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index e394b48..7cfc84e 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.5,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.6,pypy-3.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -34,7 +34,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-alpha.5", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-alpha.6", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} @@ -187,22 +187,46 @@ jobs: with: python-version: 3.8 + - name: Setup Conda + uses: conda-incubator/setup-miniconda@v2 + with: + activate-environment: env + conda-build-version: 3.21.0 + - name: Install dependencies 🔧 run: | + python -VV + python -m site python -m pip install --upgrade pip setuptools wheel python -m pip install --upgrade "mkrecipe" "whey" + # $CONDA is an environment variable pointing to the root of the miniconda directory + $CONDA/bin/conda config --set always_yes yes --set changeps1 no + $CONDA/bin/conda update -n base conda + $CONDA/bin/conda info -a + $CONDA/bin/conda config --add channels conda-forge + $CONDA/bin/conda config --add channels domdfcoding - wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.10.3-Linux-x86_64.sh -O miniconda.sh - bash miniconda.sh -b -p $HOME/miniconda + $CONDA/bin/conda config --remove channels defaults - - name: Build Conda 📦 + - name: Build Conda Package 📦 run: | - chmod +x .github/actions_build_conda.sh - bash .github/actions_build_conda.sh + python -m mkrecipe --type wheel || exit 1 + $CONDA/bin/conda build conda -c conda-forge -c domdfcoding --output-folder conda/dist - - name: Deploy Conda 🚀 + - name: Deploy Conda Package 🚀 + if: startsWith(github.ref, 'refs/tags/') run: | - chmod +x .github/actions_deploy_conda.sh - bash .github/actions_deploy_conda.sh + $CONDA/bin/conda config --set always_yes yes --set changeps1 no + $CONDA/bin/conda install anaconda-client + $CONDA/bin/conda info -a + + for f in conda/dist/noarch/flake8-encodings-*.tar.bz2; do + [ -e "$f" ] || continue + echo "$f" + conda install "$f" || exit 1 + echo "Deploying to Anaconda.org..." + $CONDA/bin/anaconda -t "$ANACONDA_TOKEN" upload "$f" || exit 1 + echo "Successfully deployed to Anaconda.org." + done env: ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index c72ebe9..eaab17c 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.5,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-alpha.5", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-alpha.6", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} From 257f66a1f49b6f50384fd41ff2ffc3e06feca757 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Sun, 8 May 2022 16:29:19 +0100 Subject: [PATCH 02/46] Update docs. --- doc-source/_static/style.css | 4 ++++ doc-source/conf.py | 7 +++++++ doc-source/requirements.txt | 4 ++-- pyproject.toml | 2 +- repo_helper.yml | 4 +++- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/doc-source/_static/style.css b/doc-source/_static/style.css index 7077a55..a6b8e4d 100644 --- a/doc-source/_static/style.css +++ b/doc-source/_static/style.css @@ -13,3 +13,7 @@ div.versionchanged ul, div.versionremoved ul { margin-left: 20px; margin-top: 0; } + +.longtable.autosummary { + width: 100%; +} diff --git a/doc-source/conf.py b/doc-source/conf.py index 13e8a3f..eae33e5 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -77,4 +77,11 @@ def setup(app): app.connect("config-inited", lambda app, config: better_header_layout(config)) +needspace_amount = r"5\baselineskip" +favicons = [{ + "rel": "icon", + "href": "https://python-formate.github.io/assets/formate.ico", + "sizes": "48x48", + "type": "image/vnd.microsoft.icon" + }] nitpicky = True diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index b37b827..d9bfd67 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -1,4 +1,3 @@ -git+https://github.com/sphinx-toolbox/sphinx-toolbox-experimental default-values>=0.5.0 extras-require>=0.2.0 furo>=2020.11.19b18 @@ -9,12 +8,13 @@ seed-intersphinx-mapping>=0.3.1 sphinx>=3.0.3 sphinx-copybutton>=0.2.12 sphinx-debuginfo>=0.1.0 +sphinx-favicon>=0.2 sphinx-licenseinfo>=0.1.1 sphinx-notfound-page>=0.7.1 sphinx-prompt>=1.1.0 sphinx-pyproject>=0.1.0 sphinx-tabs>=1.1.13 -sphinx-toolbox>=2.13.0 +sphinx-toolbox>=3.0.0a4 sphinxcontrib-httpdomain>=1.7.0 sphinxemoji>=0.1.6 tabulate>=0.8.7 diff --git a/pyproject.toml b/pyproject.toml index 37ce7a8..def468b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,7 +77,7 @@ extensions = [ "html_section", "sphinx_toolbox.pre_commit", "sphinx_toolbox.flake8", - "sphinx_toolbox_experimental.needspace", + "sphinx-favicon", ] sphinxemoji_style = "twemoji" gitstamp_fmt = "%d %b %Y" diff --git a/repo_helper.yml b/repo_helper.yml index f047be7..74a139b 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -42,7 +42,7 @@ classifiers: extra_sphinx_extensions: - sphinx_toolbox.pre_commit - sphinx_toolbox.flake8 - - sphinx_toolbox_experimental.needspace + - sphinx-favicon entry_points: flake8.extension: @@ -55,6 +55,8 @@ keywords: - unicode sphinx_conf_epilogue: + - needspace_amount = r"5\baselineskip" + - 'favicons = [{"rel": "icon", "href": "https://python-formate.github.io/assets/formate.ico", "sizes": "48x48", "type": "image/vnd.microsoft.icon"}]' - nitpicky = True extras_require: From 4ed3f212c4fc40498cd159b93ef6c3c8ec37ca89 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Sun, 8 May 2022 20:00:48 +0100 Subject: [PATCH 03/46] Updated files with 'repo_helper'. (#27) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/stale.yml | 10 +++++----- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- .pre-commit-config.yaml | 6 +++--- justfile | 23 +++++++++++++++++++++++ tox.ini | 2 +- 7 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 justfile diff --git a/.github/stale.yml b/.github/stale.yml index e5625b7..bb7fa62 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -7,7 +7,7 @@ daysUntilStale: 180 # Number of days of inactivity before an Issue or Pull Request with the stale label is closed. # Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. -daysUntilClose: 180 +daysUntilClose: false # Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled) onlyLabels: [] @@ -31,10 +31,10 @@ exemptAssignees: false staleLabel: stale # Comment to post when marking as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had - recent activity. It will be closed if no further activity occurs. Thank you - for your contributions. +markComment: false +# This issue has been automatically marked as stale because it has not had +# recent activity. It will be closed if no further activity occurs. Thank you +# for your contributions. # Comment to post when removing the stale label. # unmarkComment: > diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 6c6265a..1bcd9a4 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.6,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.7,pypy-3.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-alpha.6", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-alpha.7", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 7cfc84e..b3854d3 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.6,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.7,pypy-3.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -34,7 +34,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-alpha.6", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-alpha.7", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index eaab17c..d9eb795 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.7,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-alpha.6", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-alpha.7", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ff8fc63..1b4934b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ exclude: ^$ repos: - repo: https://github.com/repo-helper/pyproject-parser - rev: v0.4.2 + rev: v0.4.3 hooks: - id: reformat-pyproject @@ -67,7 +67,7 @@ repos: - --keep-runtime-typing - repo: https://github.com/Lucas-C/pre-commit-hooks - rev: v1.1.11 + rev: v1.1.13 hooks: - id: remove-crlf - id: forbid-crlf @@ -78,7 +78,7 @@ repos: - id: snippet-fmt - repo: https://github.com/python-formate/formate - rev: v0.4.9 + rev: v0.4.10 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ diff --git a/justfile b/justfile new file mode 100644 index 0000000..f3b215e --- /dev/null +++ b/justfile @@ -0,0 +1,23 @@ +default: lint + +pdf-docs: latex-docs + make -C doc-source/build/latex/ + +latex-docs: + SPHINX_BUILDER=latex tox -e docs + +unused-imports: + tox -e lint -- --select F401 + +incomplete-defs: + #!/usr/bin/env bash + tox -e mypy -- --disallow-incomplete-defs --disallow-untyped-defs | grep "Function is missing a .* annotation" || exit 0 + +vdiff: + git diff $(repo-helper show version -q)..HEAD + +bare-ignore: + greppy '# type:? *ignore(?!\[|\w)' -s + +lint: unused-imports incomplete-defs bare-ignore + tox -n qa diff --git a/tox.ini b/tox.ini index c90bdb3..04087d5 100644 --- a/tox.ini +++ b/tox.ini @@ -93,7 +93,7 @@ ignore_errors = True changedir = {toxinidir} extras = classes deps = - mypy==0.931 + mypy==0.942 -r{toxinidir}/tests/requirements.txt -r{toxinidir}/stubs.txt commands = mypy flake8_encodings tests {posargs} From bd4281cca480858071e347ea391f08abfe84f582 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 6 Jun 2022 16:16:15 +0100 Subject: [PATCH 04/46] [repo-helper] Configuration Update (#28) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- .pre-commit-config.yaml | 6 +++--- doc-source/conf.py | 3 ++- justfile | 3 +-- pyproject.toml | 2 +- tox.ini | 11 +++++++++++ 8 files changed, 24 insertions(+), 13 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 1bcd9a4..5609cf9 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.7,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-beta.3,pypy-3.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-alpha.7", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-beta.3", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index b3854d3..d6bff43 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.7,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-beta.3,pypy-3.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -34,7 +34,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-alpha.7", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-beta.3", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index d9eb795..c8d35c5 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-alpha.7,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-beta.3,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-alpha.7", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-beta.3", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1b4934b..91ae05d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ exclude: ^$ repos: - repo: https://github.com/repo-helper/pyproject-parser - rev: v0.4.3 + rev: v0.6.1 hooks: - id: reformat-pyproject @@ -40,7 +40,7 @@ repos: - id: bind-requirements - repo: https://github.com/domdfcoding/flake8-dunder-all - rev: v0.1.8 + rev: v0.2.1 hooks: - id: ensure-dunder-all files: ^flake8_encodings/.*\.py$ @@ -67,7 +67,7 @@ repos: - --keep-runtime-typing - repo: https://github.com/Lucas-C/pre-commit-hooks - rev: v1.1.13 + rev: v1.2.0 hooks: - id: remove-crlf - id: forbid-crlf diff --git a/doc-source/conf.py b/doc-source/conf.py index eae33e5..62200c8 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -27,7 +27,8 @@ slug = re.sub(r'\W+', '-', project.lower()) release = version = config.version -todo_include_todos = bool(os.environ.get("SHOW_TODOS", 0)) +sphinx_builder = os.environ.get("SPHINX_BUILDER", "html").lower() +todo_include_todos = int(os.environ.get("SHOW_TODOS", 0)) and sphinx_builder != "latex" intersphinx_mapping = { "python": ("https://docs.python.org/3/", None), diff --git a/justfile b/justfile index f3b215e..e8ed871 100644 --- a/justfile +++ b/justfile @@ -10,8 +10,7 @@ unused-imports: tox -e lint -- --select F401 incomplete-defs: - #!/usr/bin/env bash - tox -e mypy -- --disallow-incomplete-defs --disallow-untyped-defs | grep "Function is missing a .* annotation" || exit 0 + tox -e lint -- --select MAN vdiff: git diff $(repo-helper show version -q)..HEAD diff --git a/pyproject.toml b/pyproject.toml index def468b..e5d1c4a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,6 +60,7 @@ extensions = [ "sphinx_toolbox.more_autosummary", "sphinx_toolbox.documentation_summary", "sphinx_toolbox.tweaks.param_dash", + "sphinxcontrib.toctree_plus", "sphinx_toolbox.tweaks.latex_layout", "sphinx_toolbox.tweaks.latex_toc", "sphinx.ext.intersphinx", @@ -70,7 +71,6 @@ extensions = [ "notfound.extension", "sphinx_copybutton", "sphinxcontrib.default_values", - "sphinxcontrib.toctree_plus", "sphinx_debuginfo", "sphinx_licenseinfo", "seed_intersphinx_mapping", diff --git a/tox.ini b/tox.ini index 04087d5..475a145 100644 --- a/tox.ini +++ b/tox.ini @@ -5,6 +5,7 @@ # * testenv:docs # * testenv:build # * testenv:lint +# * testenv:perflint # * testenv:mypy # * testenv:pyup # * testenv:coverage @@ -40,6 +41,7 @@ cov = py36, coverage [testenv:docs] setenv = SHOW_TODOS = 1 +passenv = SPHINX_BUILDER basepython = python3.8 changedir = {toxinidir}/doc-source extras = classes @@ -82,11 +84,20 @@ deps = git+https://github.com/domdfcoding/flake8-rst-docstrings-sphinx.git git+https://github.com/domdfcoding/flake8-rst-docstrings.git git+https://github.com/python-formate/flake8-unused-arguments.git@magic-methods + git+https://github.com/python-formate/flake8-missing-annotations.git pydocstyle>=6.0.0 pygments>=2.7.1 importlib_metadata<4.5.0; python_version<'3.8' commands = python3 -m flake8_rst_docstrings_sphinx flake8_encodings tests --allow-toolbox {posargs} +[testenv:perflint] +basepython = python3.6 +changedir = {toxinidir} +ignore_errors = True +skip_install = True +deps = perflint +commands = python3 -m perflint flake8_encodings {posargs} + [testenv:mypy] basepython = python3.6 ignore_errors = True From 9b4f401f1529e67e348d6d3788c8b62f8661f277 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 16 Aug 2022 16:09:21 +0000 Subject: [PATCH 05/46] [repo-helper] Configuration Update (#29) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/mypy.yml | 2 +- .github/workflows/python_ci.yml | 6 +++--- .github/workflows/python_ci_linux.yml | 6 +++--- .github/workflows/python_ci_macos.yml | 6 +++--- .pre-commit-config.yaml | 10 +++++----- tox.ini | 9 +++++---- 6 files changed, 20 insertions(+), 19 deletions(-) diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 5a7324b..db8ab06 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -47,7 +47,7 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade tox virtualenv + python -m pip install --upgrade tox virtualenv!=20.16.0 - name: "Run mypy" if: steps.changes.outputs.code == 'true' diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 5609cf9..7072755 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-beta.3,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-beta.3", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-rc.1", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} @@ -65,7 +65,7 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade tox virtualenv + python -m pip install --upgrade tox virtualenv!=20.16.0 - name: "Run Tests for Python ${{ matrix.config.python-version }}" if: steps.setup-python.outcome == 'success' diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index d6bff43..8eed097 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-beta.3,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -34,7 +34,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-beta.3", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-rc.1", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} @@ -66,7 +66,7 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade tox virtualenv + python -m pip install --upgrade tox virtualenv!=20.16.0 python -m pip install --upgrade coverage_pyver_pragma - name: "Run Tests for Python ${{ matrix.config.python-version }}" diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index c8d35c5..95e1eaf 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-beta.3,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-rc.1,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-beta.3", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11.0-rc.1", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} @@ -64,7 +64,7 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade tox virtualenv + python -m pip install --upgrade tox virtualenv!=20.16.0 - name: "Run Tests for Python ${{ matrix.config.python-version }}" if: steps.setup-python.outcome == 'success' diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 91ae05d..b9b1042 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ exclude: ^$ repos: - repo: https://github.com/repo-helper/pyproject-parser - rev: v0.6.1 + rev: v0.7.0 hooks: - id: reformat-pyproject @@ -30,7 +30,7 @@ repos: - id: end-of-file-fixer - repo: https://github.com/domdfcoding/pre-commit-hooks - rev: v0.3.0 + rev: v0.4.0 hooks: - id: requirements-txt-sorter args: @@ -40,13 +40,13 @@ repos: - id: bind-requirements - repo: https://github.com/domdfcoding/flake8-dunder-all - rev: v0.2.1 + rev: v0.2.2 hooks: - id: ensure-dunder-all files: ^flake8_encodings/.*\.py$ - repo: https://github.com/domdfcoding/flake2lint - rev: v0.4.1 + rev: v0.4.2 hooks: - id: flake2lint @@ -84,7 +84,7 @@ repos: exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ - repo: https://github.com/domdfcoding/dep_checker - rev: v0.6.2 + rev: v0.7.0 hooks: - id: dep_checker args: diff --git a/tox.ini b/tox.ini index 475a145..112eb97 100644 --- a/tox.ini +++ b/tox.ini @@ -31,8 +31,9 @@ envlist = skip_missing_interpreters = True isolated_build = True requires = - pip>=21 + pip>=21,!=22.2 tox-envlist>=0.2.1 + virtualenv!=20.16.0 [envlists] test = py36, py37, py38, py39, py310, py311-dev, pypy36, pypy37, pypy38 @@ -66,15 +67,15 @@ changedir = {toxinidir} ignore_errors = True skip_install = False deps = - flake8>=3.8.2 + flake8>=3.8.2,<5 flake8-2020>=1.6.0 flake8-builtins>=1.5.3 flake8-docstrings>=1.5.0 flake8-dunder-all>=0.1.1 flake8-encodings>=0.1.0 flake8-github-actions>=0.1.0 - flake8-noqa>=1.1.0 - flake8-pyi>=20.10.0 + flake8-noqa>=1.1.0,<=1.2.2 + flake8-pyi>=20.10.0,<=22.8.0 flake8-pytest-style>=1.3.0 flake8-quotes>=3.3.0 flake8-slots>=0.1.0 From 987eff82723d1a5f4a49d2fa12fbc5595dc80aaa Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Sat, 3 Sep 2022 07:04:50 +0100 Subject: [PATCH 06/46] Updated files with 'repo_helper'. (#30) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/flake8.yml | 2 +- .pre-commit-config.yaml | 2 +- README.rst | 4 ++-- doc-source/index.rst | 4 ++-- tox.ini | 1 + 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 84e9436..4b47d24 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -16,7 +16,7 @@ permissions: jobs: Run: name: "Flake8" - runs-on: "ubuntu-18.04" + runs-on: "ubuntu-20.04" steps: - name: Checkout 🛎️ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b9b1042..0bc82de 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -67,7 +67,7 @@ repos: - --keep-runtime-typing - repo: https://github.com/Lucas-C/pre-commit-hooks - rev: v1.2.0 + rev: v1.3.1 hooks: - id: remove-crlf - id: forbid-crlf diff --git a/README.rst b/README.rst index 46d1f68..3c9115a 100644 --- a/README.rst +++ b/README.rst @@ -58,8 +58,8 @@ flake8-encodings :target: https://github.com/python-formate/flake8-encodings/actions?query=workflow%3A%22mypy%22 :alt: mypy status -.. |requires| image:: https://dependency-dash.herokuapp.com/github/python-formate/flake8-encodings/badge.svg - :target: https://dependency-dash.herokuapp.com/github/python-formate/flake8-encodings/ +.. |requires| image:: https://dependency-dash.repo-helper.uk/github/python-formate/flake8-encodings/badge.svg + :target: https://dependency-dash.repo-helper.uk/github/python-formate/flake8-encodings/ :alt: Requirements Status .. |coveralls| image:: https://img.shields.io/coveralls/github/python-formate/flake8-encodings/master?logo=coveralls diff --git a/doc-source/index.rst b/doc-source/index.rst index 800db2f..0d8170b 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -64,8 +64,8 @@ flake8-encodings :workflow: mypy :alt: mypy status - .. |requires| image:: https://dependency-dash.herokuapp.com/github/python-formate/flake8-encodings/badge.svg - :target: https://dependency-dash.herokuapp.com/github/python-formate/flake8-encodings/ + .. |requires| image:: https://dependency-dash.repo-helper.uk/github/python-formate/flake8-encodings/badge.svg + :target: https://dependency-dash.repo-helper.uk/github/python-formate/flake8-encodings/ :alt: Requirements Status .. |coveralls| coveralls-shield:: diff --git a/tox.ini b/tox.ini index 112eb97..5927c55 100644 --- a/tox.ini +++ b/tox.ini @@ -128,6 +128,7 @@ passenv = COV_PYTHON_VERSION COV_PLATFORM COV_PYTHON_IMPLEMENTATION + * changedir = {toxinidir} deps = coverage>=5 From b593d78c1a64bb66ec75ca51cfd5fd4d1eb2b3d1 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 1 Nov 2022 11:28:12 +0000 Subject: [PATCH 07/46] Bump mypy version --- flake8_encodings/__init__.py | 6 +++--- tests/test_plugin.py | 2 +- tests/test_visitor.py | 2 +- tox.ini | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/flake8_encodings/__init__.py b/flake8_encodings/__init__.py index c5cd8f9..2a2a36c 100644 --- a/flake8_encodings/__init__.py +++ b/flake8_encodings/__init__.py @@ -49,8 +49,8 @@ if TYPE_CHECKING: # 3rd party - from jedi import Script # type: ignore - from jedi.api.classes import Name # type: ignore + from jedi import Script + from jedi.api.classes import Name # type: ignore[import] __author__: str = "Dominic Davis-Foster" __copyright__: str = "2020-2021 Dominic Davis-Foster" @@ -185,7 +185,7 @@ class ClassVisitor(Visitor): def __init__(self): try: # 3rd party - import jedi + import jedi # type: ignore[import] except ImportError as e: exc = e.__class__("This class requires 'jedi' to be installed but it could not be imported.") exc.__traceback__ = e.__traceback__ diff --git a/tests/test_plugin.py b/tests/test_plugin.py index e53d12d..a82da74 100644 --- a/tests/test_plugin.py +++ b/tests/test_plugin.py @@ -12,7 +12,7 @@ try: # 3rd party - import jedi # type: ignore + import jedi # type: ignore[import] # noqa: F401 has_jedi = True except ImportError: has_jedi = False diff --git a/tests/test_visitor.py b/tests/test_visitor.py index 5bd59d5..85307cc 100644 --- a/tests/test_visitor.py +++ b/tests/test_visitor.py @@ -12,7 +12,7 @@ try: # 3rd party - import jedi # type: ignore + import jedi # type: ignore[import] # noqa: F401 has_jedi = True except ImportError: has_jedi = False diff --git a/tox.ini b/tox.ini index 5927c55..4cd2407 100644 --- a/tox.ini +++ b/tox.ini @@ -105,7 +105,7 @@ ignore_errors = True changedir = {toxinidir} extras = classes deps = - mypy==0.942 + mypy==0.971 -r{toxinidir}/tests/requirements.txt -r{toxinidir}/stubs.txt commands = mypy flake8_encodings tests {posargs} From 517c83e2c0814a72c091fbbb75a054d7fcdc8a20 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 1 Nov 2022 12:02:16 +0000 Subject: [PATCH 08/46] Updated files with 'repo_helper'. (#32) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/conda_ci.yml | 4 ++-- .github/workflows/docs_test_action.yml | 2 +- .github/workflows/flake8.yml | 4 ++-- .github/workflows/mypy.yml | 4 ++-- .github/workflows/python_ci.yml | 8 ++++---- .github/workflows/python_ci_linux.yml | 20 ++++++++++---------- .github/workflows/python_ci_macos.yml | 8 ++++---- .pre-commit-config.yaml | 3 +++ 8 files changed, 28 insertions(+), 25 deletions(-) diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 1674b3c..30455b6 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -19,10 +19,10 @@ jobs: steps: - name: Checkout 🛎️ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" - name: Setup Python 🐍 - uses: "actions/setup-python@v2" + uses: "actions/setup-python@v4" with: python-version: "3.8" diff --git a/.github/workflows/docs_test_action.yml b/.github/workflows/docs_test_action.yml index bd2510e..b09bde3 100644 --- a/.github/workflows/docs_test_action.yml +++ b/.github/workflows/docs_test_action.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout 🛎️ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" - name: Check for changed files uses: dorny/paths-filter@v2 diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 4b47d24..a65f7a9 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -20,7 +20,7 @@ jobs: steps: - name: Checkout 🛎️ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" - name: Check for changed files uses: dorny/paths-filter@v2 @@ -33,7 +33,7 @@ jobs: - name: Setup Python 🐍 if: steps.changes.outputs.code == 'true' - uses: "actions/setup-python@v2" + uses: "actions/setup-python@v4" with: python-version: "3.6" diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index db8ab06..ff631ba 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -25,7 +25,7 @@ jobs: steps: - name: Checkout 🛎️ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" - name: Check for changed files uses: dorny/paths-filter@v2 @@ -38,7 +38,7 @@ jobs: - name: Setup Python 🐍 if: steps.changes.outputs.code == 'true' - uses: "actions/setup-python@v2" + uses: "actions/setup-python@v4" with: python-version: "3.6" diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 7072755..0f01a07 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,pypy-3.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -33,14 +33,14 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-rc.1", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} steps: - name: Checkout 🛎️ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" - name: Check for changed files if: startsWith(github.ref, 'refs/tags/') != true @@ -55,7 +55,7 @@ jobs: - name: Setup Python 🐍 id: setup-python if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} - uses: "actions/setup-python@v2" + uses: "actions/setup-python@v4" with: python-version: "${{ matrix.config.python-version }}" diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 8eed097..980623a 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,pypy-3.6,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -34,14 +34,14 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-rc.1", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} steps: - name: Checkout 🛎️ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" - name: Check for changed files if: startsWith(github.ref, 'refs/tags/') != true @@ -56,7 +56,7 @@ jobs: - name: Setup Python 🐍 id: setup-python if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} - uses: "actions/setup-python@v2" + uses: "actions/setup-python@v4" with: python-version: "${{ matrix.config.python-version }}" @@ -86,10 +86,10 @@ jobs: runs-on: "ubuntu-20.04" steps: - name: Checkout 🛎️ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" - name: Setup Python 🐍 - uses: "actions/setup-python@v2" + uses: "actions/setup-python@v4" with: python-version: 3.8 @@ -135,11 +135,11 @@ jobs: runs-on: "ubuntu-20.04" steps: - name: Checkout 🛎️ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" if: startsWith(github.ref, 'refs/tags/') - name: Setup Python 🐍 - uses: "actions/setup-python@v2" + uses: "actions/setup-python@v4" if: startsWith(github.ref, 'refs/tags/') with: python-version: 3.8 @@ -180,10 +180,10 @@ jobs: if: startsWith(github.ref, 'refs/tags/') || (startsWith(github.event.head_commit.message, 'Bump version') != true) steps: - name: Checkout 🛎️ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" - name: Setup Python 🐍 - uses: "actions/setup-python@v2" + uses: "actions/setup-python@v4" with: python-version: 3.8 diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 95e1eaf..ef9f7ce 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-rc.1,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,pypy-3.7,pypy-3.8' strategy: fail-fast: False @@ -33,13 +33,13 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11.0-rc.1", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11", testenvs: "py311-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} steps: - name: Checkout 🛎️ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" - name: Check for changed files if: startsWith(github.ref, 'refs/tags/') != true @@ -54,7 +54,7 @@ jobs: - name: Setup Python 🐍 id: setup-python if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} - uses: "actions/setup-python@v2" + uses: "actions/setup-python@v4" with: python-version: "${{ matrix.config.python-version }}" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0bc82de..1ffc856 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,6 +3,9 @@ exclude: ^$ +ci: + autoupdate_schedule: quarterly + repos: - repo: https://github.com/repo-helper/pyproject-parser rev: v0.7.0 From 09402216e754e22bd34de74436aebf9beb877578 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 1 Nov 2022 14:34:24 +0000 Subject: [PATCH 09/46] Test on newer Python versions --- .github/workflows/python_ci.yml | 6 ++++-- .github/workflows/python_ci_linux.yml | 6 ++++-- .github/workflows/python_ci_macos.yml | 6 ++++-- pyproject.toml | 2 +- repo_helper.yml | 4 +++- tox.ini | 22 +++++++++++++++++++--- 6 files changed, 35 insertions(+), 11 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 0f01a07..a62a188 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -33,10 +33,12 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11", testenvs: "py311,build", experimental: False} + - {python-version: "3.12.0-alpha.1", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39", experimental: True} steps: - name: Checkout 🛎️ diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 980623a..2219f95 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,pypy-3.6,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,10 +34,12 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11", testenvs: "py311,build", experimental: False} + - {python-version: "3.12.0-alpha.1", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39", experimental: True} steps: - name: Checkout 🛎️ diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index ef9f7ce..72b2efc 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,pypy-3.7,pypy-3.8' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.1,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -33,9 +33,11 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11", testenvs: "py311,build", experimental: False} + - {python-version: "3.12.0-alpha.1", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39", experimental: True} steps: - name: Checkout 🛎️ diff --git a/pyproject.toml b/pyproject.toml index e5d1c4a..0908250 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ base-classifiers = [ "Topic :: Utilities", "Typing :: Typed", ] -python-versions = [ "3.6", "3.7", "3.8", "3.9", "3.10",] +python-versions = [ "3.6", "3.7", "3.8", "3.9", "3.10", "3.11",] python-implementations = [ "CPython", "PyPy",] platforms = [ "Windows", "macOS", "Linux",] license-key = "MIT" diff --git a/repo_helper.yml b/repo_helper.yml index 74a139b..228be6e 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -28,10 +28,12 @@ python_versions: - '3.8' - '3.9' - "3.10" - - 3.11-dev + - "3.11" + - 3.12-dev - pypy36 - pypy37 - pypy38 + - pypy39 classifiers: - 'Development Status :: 4 - Beta' diff --git a/tox.ini b/tox.ini index 4cd2407..2a5fdc2 100644 --- a/tox.ini +++ b/tox.ini @@ -22,10 +22,12 @@ envlist = py38 py39 py310 - py311-dev + py311 + py312-dev pypy36 pypy37 pypy38 + pypy39 mypy build skip_missing_interpreters = True @@ -36,7 +38,18 @@ requires = virtualenv!=20.16.0 [envlists] -test = py36, py37, py38, py39, py310, py311-dev, pypy36, pypy37, pypy38 +test = + py36 + py37 + py38 + py39 + py310 + py311 + py312-dev + pypy36 + pypy37 + pypy38 + pypy39 qa = mypy, lint cov = py36, coverage @@ -190,7 +203,10 @@ filterwarnings = ignore:can't resolve package from __spec__ or __package__, falling back on __name__ and __path__:ImportWarning [testenv] -setenv = PYTHONDEVMODE = 1 +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + SETUPTOOLS_USE_DISTUTILS=stdlib deps = -r{toxinidir}/tests/requirements.txt ignore_errors = True commands = From 17bfa0fc9381adc2765653cc5286dea97c9e9357 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 1 Nov 2022 14:36:09 +0000 Subject: [PATCH 10/46] Increase type hint coverage --- flake8_encodings/__init__.py | 12 ++++++------ tests/test_plugin.py | 6 +++++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/flake8_encodings/__init__.py b/flake8_encodings/__init__.py index 2a2a36c..a650e9b 100644 --- a/flake8_encodings/__init__.py +++ b/flake8_encodings/__init__.py @@ -107,7 +107,7 @@ class Visitor(flake8_helper.Visitor): The functionality for checking classes has moved to the :class:`~.ClassVisitor` subclass. """ - def check_open_encoding(self, node: ast.Call): + def check_open_encoding(self, node: ast.Call) -> None: """ Check the call represented by the given AST node is using encodings correctly. @@ -141,7 +141,7 @@ def check_open_encoding(self, node: ast.Call): check_encoding = check_open_encoding # deprecated - def visit_Call(self, node: ast.Call): # noqa: D102 + def visit_Call(self, node: ast.Call) -> None: # noqa: D102 if isinstance(node.func, ast.Name): @@ -195,7 +195,7 @@ def __init__(self): self.filename = PathPlus("") self.jedi_script = jedi.Script('') - def first_visit(self, node: ast.AST, filename: PathPlus): + def first_visit(self, node: ast.AST, filename: PathPlus) -> None: """ Like :meth:`ast.NodeVisitor.visit`, but configures type inference. @@ -212,7 +212,7 @@ def first_visit(self, node: ast.AST, filename: PathPlus): self.jedi_script = jedi.Script(self.filename.read_text(), path=self.filename) self.visit(node) - def check_configparser_encoding(self, node: ast.Call): + def check_configparser_encoding(self, node: ast.Call) -> None: """ Check the call represented by the given AST node is using encodings correctly. @@ -230,7 +230,7 @@ def check_configparser_encoding(self, node: ast.Call): if kwargs["encoding"].value is None: self.report_error(node, ENC012) - def check_pathlib_encoding(self, node: ast.Call, method_name: str): + def check_pathlib_encoding(self, node: ast.Call, method_name: str) -> None: """ Check the call represented by the given AST node is using encodings correctly. @@ -279,7 +279,7 @@ def check_pathlib_encoding(self, node: ast.Call, method_name: str): if kwargs["encoding"].value is None: self.report_error(node, encoding_none) - def visit_Call(self, node: ast.Call): # noqa: D102 + def visit_Call(self, node: ast.Call) -> None: # noqa: D102 if isinstance(node.func, ast.Name): diff --git a/tests/test_plugin.py b/tests/test_plugin.py index a82da74..b94da6d 100644 --- a/tests/test_plugin.py +++ b/tests/test_plugin.py @@ -27,7 +27,11 @@ pytest.param(False, id="no_jedi", marks=pytest.mark.skipif(has_jedi, reason=skip_reason)), ] ) -def test_plugin(tmp_pathplus: PathPlus, advanced_data_regression: AdvancedDataRegressionFixture, has_jedi): +def test_plugin( + tmp_pathplus: PathPlus, + advanced_data_regression: AdvancedDataRegressionFixture, + has_jedi: bool, + ): (tmp_pathplus / "code.py").write_text(example_source) plugin = Plugin(ast.parse(example_source), filename=str(tmp_pathplus / "code.py")) From 2672774d04e257042ec3263cc42ac2de90f057fc Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Fri, 9 Dec 2022 18:02:44 +0000 Subject: [PATCH 11/46] [repo-helper] Configuration Update (#33) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/flake8.yml | 2 +- .github/workflows/mypy.yml | 2 +- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 10 +++++----- .github/workflows/python_ci_macos.yml | 4 ++-- tox.ini | 1 + 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index a65f7a9..5b6260e 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -43,7 +43,7 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install tox + python -m pip install tox~=3.0 - name: "Run Flake8" if: steps.changes.outputs.code == 'true' diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index ff631ba..882a62f 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -47,7 +47,7 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade tox virtualenv!=20.16.0 + python -m pip install --upgrade tox~=3.0 virtualenv!=20.16.0 - name: "Run mypy" if: steps.changes.outputs.code == 'true' diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index a62a188..1e6e009 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -67,14 +67,14 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade tox virtualenv!=20.16.0 + python -m pip install --upgrade tox~=3.0 virtualenv!=20.16.0 - name: "Run Tests for Python ${{ matrix.config.python-version }}" if: steps.setup-python.outcome == 'success' run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage 🚀" - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 2219f95..67d6311 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -68,7 +68,7 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade tox virtualenv!=20.16.0 + python -m pip install --upgrade tox~=3.0 virtualenv!=20.16.0 python -m pip install --upgrade coverage_pyver_pragma - name: "Run Tests for Python ${{ matrix.config.python-version }}" @@ -76,7 +76,7 @@ jobs: run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage 🚀" - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" @@ -101,7 +101,7 @@ jobs: python -m pip install --upgrade "coveralls>=3.0.0" coverage_pyver_pragma - name: "Download Coverage 🪂" - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: path: coverage @@ -119,7 +119,7 @@ jobs: - name: "Upload Combined Coverage Artefact 🚀" if: ${{ steps.show.outcome != 'failure' }} - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: "combined-coverage" path: .coverage @@ -150,7 +150,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') run: | python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade tox + python -m pip install --upgrade tox~=3.0 - name: Build distributions 📦 if: startsWith(github.ref, 'refs/tags/') diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 72b2efc..7790ec7 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -66,14 +66,14 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade tox virtualenv!=20.16.0 + python -m pip install --upgrade tox~=3.0 virtualenv!=20.16.0 - name: "Run Tests for Python ${{ matrix.config.python-version }}" if: steps.setup-python.outcome == 'success' run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage 🚀" - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" diff --git a/tox.ini b/tox.ini index 2a5fdc2..b551be7 100644 --- a/tox.ini +++ b/tox.ini @@ -35,6 +35,7 @@ isolated_build = True requires = pip>=21,!=22.2 tox-envlist>=0.2.1 + tox~=3.0 virtualenv!=20.16.0 [envlists] From 99c52baa5b482b8ee962434abf181a9a0f1a4b88 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 13 Dec 2022 16:16:38 +0000 Subject: [PATCH 12/46] Bump Python 3.12 version --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- tox.ini | 6 ++++++ 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 1e6e009..abbed83 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,7 +34,7 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-alpha.1", testenvs: "py312-dev,build", experimental: True} + - {python-version: "3.12.0-alpha.3", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 67d6311..3104e4b 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-alpha.1", testenvs: "py312-dev,build", experimental: True} + - {python-version: "3.12.0-alpha.3", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 7790ec7..35d27f1 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.1,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.3,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,7 +34,7 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-alpha.1", testenvs: "py312-dev,build", experimental: True} + - {python-version: "3.12.0-alpha.3", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} - {python-version: "pypy-3.9", testenvs: "pypy39", experimental: True} diff --git a/tox.ini b/tox.ini index b551be7..3d483a7 100644 --- a/tox.ini +++ b/tox.ini @@ -2,6 +2,7 @@ # You may add new sections, but any changes made to the following sections will be lost: # * tox # * envlists +# * testenv:py312-dev # * testenv:docs # * testenv:build # * testenv:lint @@ -54,6 +55,11 @@ test = qa = mypy, lint cov = py36, coverage +[testenv:py312-dev] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + [testenv:docs] setenv = SHOW_TODOS = 1 passenv = SPHINX_BUILDER From bd8c7db60cbdb108c7c9fb222e4dd6068bddc8ea Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Fri, 10 Feb 2023 11:22:58 +0000 Subject: [PATCH 13/46] Updated files with 'repo_helper'. (#34) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/conda_ci.yml | 6 ++++-- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 10 ++++++---- .github/workflows/python_ci_macos.yml | 4 ++-- README.rst | 2 +- doc-source/index.rst | 2 +- 6 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 30455b6..94abd53 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -12,7 +12,7 @@ permissions: jobs: tests: name: "Conda" - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 defaults: run: shell: bash -l {0} @@ -30,7 +30,9 @@ jobs: uses: conda-incubator/setup-miniconda@v2 with: activate-environment: env - conda-build-version: 3.21.0 + conda-build-version: 3.23.3 + python-version: "3.8" + miniforge-variant: Mambaforge - name: Install dependencies 🔧 run: | diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index abbed83..23b4400 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,7 +34,7 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-alpha.3", testenvs: "py312-dev,build", experimental: True} + - {python-version: "3.12.0-alpha.4", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 3104e4b..de59048 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-alpha.3", testenvs: "py312-dev,build", experimental: True} + - {python-version: "3.12.0-alpha.4", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} @@ -178,7 +178,7 @@ jobs: Conda: needs: deploy - runs-on: "ubuntu-18.04" + runs-on: ubuntu-22.04 if: startsWith(github.ref, 'refs/tags/') || (startsWith(github.event.head_commit.message, 'Bump version') != true) steps: - name: Checkout 🛎️ @@ -193,7 +193,9 @@ jobs: uses: conda-incubator/setup-miniconda@v2 with: activate-environment: env - conda-build-version: 3.21.0 + conda-build-version: 3.23.3 + python-version: "3.8" + miniforge-variant: Mambaforge - name: Install dependencies 🔧 run: | diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 35d27f1..4e09dfe 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.3,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.4,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,7 +34,7 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-alpha.3", testenvs: "py312-dev,build", experimental: True} + - {python-version: "3.12.0-alpha.4", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} - {python-version: "pypy-3.9", testenvs: "pypy39", experimental: True} diff --git a/README.rst b/README.rst index 3c9115a..528ed42 100644 --- a/README.rst +++ b/README.rst @@ -109,7 +109,7 @@ flake8-encodings :target: https://github.com/python-formate/flake8-encodings/commit/master :alt: GitHub last commit -.. |maintained| image:: https://img.shields.io/maintenance/yes/2022 +.. |maintained| image:: https://img.shields.io/maintenance/yes/2023 :alt: Maintenance .. |pypi-downloads| image:: https://img.shields.io/pypi/dm/flake8-encodings diff --git a/doc-source/index.rst b/doc-source/index.rst index 0d8170b..a237723 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -118,7 +118,7 @@ flake8-encodings :last-commit: :alt: GitHub last commit - .. |maintained| maintained-shield:: 2022 + .. |maintained| maintained-shield:: 2023 :alt: Maintenance .. |pypi-downloads| pypi-shield:: From 53985fcb132e32dd5a559d4446293506d6b111e6 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 21 Aug 2023 17:27:44 +0100 Subject: [PATCH 14/46] Remove unused docs requirements and bump versions --- doc-source/requirements.txt | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index d9bfd67..67914f2 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -1,21 +1,16 @@ -default-values>=0.5.0 -extras-require>=0.2.0 -furo>=2020.11.19b18 -html-section>=0.1.0 -pyyaml>=5.3.1 -repo-helper-sphinx-theme>=0.0.2 -seed-intersphinx-mapping>=0.3.1 +default-values>=0.6.0 +extras-require>=0.5.0 +furo==2021.06.18b36 +html-section>=0.3.0 +seed-intersphinx-mapping>=1.2.2 sphinx>=3.0.3 sphinx-copybutton>=0.2.12 -sphinx-debuginfo>=0.1.0 +sphinx-debuginfo>=0.2.2 sphinx-favicon>=0.2 -sphinx-licenseinfo>=0.1.1 +sphinx-licenseinfo>=0.3.1 sphinx-notfound-page>=0.7.1 sphinx-prompt>=1.1.0 sphinx-pyproject>=0.1.0 -sphinx-tabs>=1.1.13 -sphinx-toolbox>=3.0.0a4 -sphinxcontrib-httpdomain>=1.7.0 +sphinx-toolbox>=3.5.0 sphinxemoji>=0.1.6 -tabulate>=0.8.7 -toctree-plus>=0.5.0 +toctree-plus>=0.6.1 From 5fb089c97f4011ff42105da9d05055b3a2a33761 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 21 Aug 2023 19:01:52 +0100 Subject: [PATCH 15/46] Fix sphinx_favicon extension name --- pyproject.toml | 2 +- repo_helper.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0908250..374932d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,7 +77,7 @@ extensions = [ "html_section", "sphinx_toolbox.pre_commit", "sphinx_toolbox.flake8", - "sphinx-favicon", + "sphinx_favicon", ] sphinxemoji_style = "twemoji" gitstamp_fmt = "%d %b %Y" diff --git a/repo_helper.yml b/repo_helper.yml index 228be6e..f8738c1 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -44,7 +44,7 @@ classifiers: extra_sphinx_extensions: - sphinx_toolbox.pre_commit - sphinx_toolbox.flake8 - - sphinx-favicon + - sphinx_favicon entry_points: flake8.extension: From d66a98d15c8dbed2af1c48b2a748312c85aaf604 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 21 Aug 2023 19:02:23 +0100 Subject: [PATCH 16/46] Updated files with 'repo_helper'. (#36) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .bumpversion.cfg | 2 ++ .github/workflows/python_ci.yml | 8 ++++---- .github/workflows/python_ci_linux.yml | 6 +++--- .github/workflows/python_ci_macos.yml | 6 +++--- .pre-commit-config.yaml | 12 ++++++------ .readthedocs.yml | 12 +++++++----- tox.ini | 14 +++++++++++++- 7 files changed, 38 insertions(+), 22 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 5010029..5f24568 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -22,3 +22,5 @@ search = version = "{current_version}" replace = version = "{new_version}" [bumpversion:file:.github/workflows/conda_ci.yml] +search = ={current_version}=py_1 +replace = ={new_version}=py_1 diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 23b4400..8bbb3e0 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,11 +34,11 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-alpha.4", testenvs: "py312-dev,build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} + - {python-version: "3.12.0-rc.1", testenvs: "py312-dev,build", experimental: True} + - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} - - {python-version: "pypy-3.9", testenvs: "pypy39", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} steps: - name: Checkout 🛎️ diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index de59048..287b8fa 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,11 +35,11 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-alpha.4", testenvs: "py312-dev,build", experimental: True} + - {python-version: "3.12.0-rc.1", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} - - {python-version: "pypy-3.9", testenvs: "pypy39", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} steps: - name: Checkout 🛎️ diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 4e09dfe..e9420ea 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.4,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-rc.1,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,10 +34,10 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-alpha.4", testenvs: "py312-dev,build", experimental: True} + - {python-version: "3.12.0-rc.1", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} - - {python-version: "pypy-3.9", testenvs: "pypy39", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} steps: - name: Checkout 🛎️ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1ffc856..abecced 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,7 +8,7 @@ ci: repos: - repo: https://github.com/repo-helper/pyproject-parser - rev: v0.7.0 + rev: v0.9.0 hooks: - id: reformat-pyproject @@ -43,7 +43,7 @@ repos: - id: bind-requirements - repo: https://github.com/domdfcoding/flake8-dunder-all - rev: v0.2.2 + rev: v0.3.0 hooks: - id: ensure-dunder-all files: ^flake8_encodings/.*\.py$ @@ -54,7 +54,7 @@ repos: - id: flake2lint - repo: https://github.com/pre-commit/pygrep-hooks - rev: v1.9.0 + rev: v1.10.0 hooks: - id: python-no-eval - id: rst-backticks @@ -70,7 +70,7 @@ repos: - --keep-runtime-typing - repo: https://github.com/Lucas-C/pre-commit-hooks - rev: v1.3.1 + rev: v1.5.1 hooks: - id: remove-crlf - id: forbid-crlf @@ -81,13 +81,13 @@ repos: - id: snippet-fmt - repo: https://github.com/python-formate/formate - rev: v0.4.10 + rev: v0.5.0 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ - repo: https://github.com/domdfcoding/dep_checker - rev: v0.7.0 + rev: v0.7.1 hooks: - id: dep_checker args: diff --git a/.readthedocs.yml b/.readthedocs.yml index 797133e..8513279 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -9,11 +9,13 @@ formats: - pdf - htmlzip python: - version: 3.8 install: - requirements: requirements.txt - requirements: doc-source/requirements.txt - - method: pip - path: . - extra_requirements: - - classes +build: + os: ubuntu-20.04 + tools: + python: '3.9' + jobs: + post_create_environment: + - pip install .[classes] diff --git a/tox.ini b/tox.ini index 3d483a7..152bf62 100644 --- a/tox.ini +++ b/tox.ini @@ -2,6 +2,7 @@ # You may add new sections, but any changes made to the following sections will be lost: # * tox # * envlists +# * testenv:.package # * testenv:py312-dev # * testenv:docs # * testenv:build @@ -55,6 +56,11 @@ test = qa = mypy, lint cov = py36, coverage +[testenv:.package] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + [testenv:py312-dev] setenv = PYTHONDEVMODE=1 @@ -70,12 +76,17 @@ deps = -r{toxinidir}/doc-source/requirements.txt commands = sphinx-build -M {env:SPHINX_BUILDER:html} . ./build {posargs} [testenv:build] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + PIP_PREFER_BINARY=1 skip_install = True changedir = {toxinidir} deps = build[virtualenv]>=0.3.1 check-wheel-contents>=0.1.0 twine>=3.2.0 + cryptography<40; implementation_name == "pypy" and python_version <= "3.7" commands = python -m build --sdist --wheel "{toxinidir}" twine check dist/*.tar.gz dist/*.whl @@ -160,7 +171,7 @@ commands = [flake8] max-line-length = 120 -select = E111 E112 E113 E121 E122 E125 E127 E128 E129 E131 E133 E201 E202 E203 E211 E222 E223 E224 E225 E225 E226 E227 E228 E231 E241 E242 E251 E261 E262 E265 E271 E272 E303 E304 E306 E402 E502 E703 E711 E712 E713 E714 E721 W291 W292 W293 W391 W504 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 STRFTIME001 STRFTIME002 SXL001 PT001 PT002 PT003 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 RST201 RST202 RST203 RST204 RST205 RST206 RST207 RST208 RST210 RST211 RST212 RST213 RST214 RST215 RST216 RST217 RST218 RST219 RST299 RST301 RST302 RST303 RST304 RST305 RST306 RST399 RST401 RST499 RST900 RST901 RST902 RST903 Q001 Q002 Q003 A001 A002 A003 TYP001 TYP002 TYP003 TYP004 TYP005 TYP006 ENC001 ENC002 ENC003 ENC004 ENC011 ENC012 ENC021 ENC022 ENC023 ENC024 ENC025 ENC026 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 NQA001 NQA002 NQA003 NQA004 NQA005 NQA102 NQA103 E301 E302 E305 D100 D101 D102 D103 D104 D106 D201 D204 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D402 D403 D404 D415 D417 DALL000 SLOT000 SLOT001 SLOT002 +select = E111 E112 E113 E121 E122 E125 E127 E128 E129 E131 E133 E201 E202 E203 E211 E222 E223 E224 E225 E225 E226 E227 E228 E231 E241 E242 E251 E261 E262 E265 E271 E272 E303 E304 E306 E402 E502 E703 E711 E712 E713 E714 E721 W291 W292 W293 W391 W504 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 STRFTIME001 STRFTIME002 SXL001 PT001 PT002 PT003 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 RST201 RST202 RST203 RST204 RST205 RST206 RST207 RST208 RST210 RST211 RST212 RST213 RST214 RST215 RST216 RST217 RST218 RST219 RST299 RST301 RST302 RST303 RST304 RST305 RST306 RST399 RST401 RST499 RST900 RST901 RST902 RST903 Q001 Q002 Q003 A001 A002 TYP001 TYP002 TYP003 TYP004 TYP005 TYP006 ENC001 ENC002 ENC003 ENC004 ENC011 ENC012 ENC021 ENC022 ENC023 ENC024 ENC025 ENC026 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 NQA001 NQA002 NQA003 NQA004 NQA005 NQA102 NQA103 E301 E302 E305 D100 D101 D102 D103 D104 D106 D201 D204 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D402 D403 D404 D415 D417 DALL000 SLOT000 SLOT001 SLOT002 extend-exclude = doc-source,old,build,dist,__pkginfo__.py,setup.py,venv rst-directives = TODO @@ -188,6 +199,7 @@ plugins = coverage_pyver_pragma [coverage:report] fail_under = 94 +show_missing = True exclude_lines = raise AssertionError raise NotImplementedError From 579b09d8243dfc9e0227696745b8f5c3da1259fc Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 20 Nov 2023 11:30:25 +0000 Subject: [PATCH 17/46] Test on newer Python versions --- .github/workflows/python_ci.yml | 9 +++++---- .github/workflows/python_ci_linux.yml | 9 +++++---- .github/workflows/python_ci_macos.yml | 9 +++++---- pyproject.toml | 2 +- repo_helper.yml | 3 ++- tox.ini | 15 ++++++++++++--- 6 files changed, 30 insertions(+), 17 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 8bbb3e0..3a3c387 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,10 +34,11 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-rc.1", testenvs: "py312-dev,build", experimental: True} + - {python-version: "3.12", testenvs: "py312,build", experimental: False} + - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} + - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} steps: diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 287b8fa..43b4451 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,10 +35,11 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-rc.1", testenvs: "py312-dev,build", experimental: True} + - {python-version: "3.12", testenvs: "py312,build", experimental: False} + - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} + - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} steps: diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index e9420ea..c64a775 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-rc.1,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.1,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,9 +34,10 @@ jobs: - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12.0-rc.1", testenvs: "py312-dev,build", experimental: True} - - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} + - {python-version: "3.12", testenvs: "py312,build", experimental: False} + - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev,build", experimental: True} + - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} steps: diff --git a/pyproject.toml b/pyproject.toml index 374932d..b25e151 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ base-classifiers = [ "Topic :: Utilities", "Typing :: Typed", ] -python-versions = [ "3.6", "3.7", "3.8", "3.9", "3.10", "3.11",] +python-versions = [ "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12",] python-implementations = [ "CPython", "PyPy",] platforms = [ "Windows", "macOS", "Linux",] license-key = "MIT" diff --git a/repo_helper.yml b/repo_helper.yml index f8738c1..8537d00 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -29,7 +29,8 @@ python_versions: - '3.9' - "3.10" - "3.11" - - 3.12-dev + - "3.12" + - 3.13-dev - pypy36 - pypy37 - pypy38 diff --git a/tox.ini b/tox.ini index 152bf62..c5e07c3 100644 --- a/tox.ini +++ b/tox.ini @@ -3,7 +3,9 @@ # * tox # * envlists # * testenv:.package +# * testenv:py313-dev # * testenv:py312-dev +# * testenv:py312 # * testenv:docs # * testenv:build # * testenv:lint @@ -25,7 +27,8 @@ envlist = py39 py310 py311 - py312-dev + py312 + py313-dev pypy36 pypy37 pypy38 @@ -48,7 +51,8 @@ test = py39 py310 py311 - py312-dev + py312 + py313-dev pypy36 pypy37 pypy38 @@ -61,7 +65,12 @@ setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 -[testenv:py312-dev] +[testenv:py313-dev] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + +[testenv:py312] setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 From 6b941dcc927effb92aea1447f3c0014eab667ee6 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 20 Nov 2023 12:23:25 +0000 Subject: [PATCH 18/46] Handle ast deprecations in Python 3.12 --- flake8_encodings/__init__.py | 41 ++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/flake8_encodings/__init__.py b/flake8_encodings/__init__.py index a650e9b..5b8924f 100644 --- a/flake8_encodings/__init__.py +++ b/flake8_encodings/__init__.py @@ -38,6 +38,7 @@ import ast import configparser import pathlib +import sys import tempfile from typing import TYPE_CHECKING, Callable, Iterator, List, Optional, Tuple, Type @@ -92,10 +93,20 @@ def mode_is_binary(mode: ast.AST) -> Optional[bool]: if isinstance(mode, ast.Constant): # pragma: no cover ( None: if "encoding" not in kwargs: self.report_error(node, ENC003 if unknown_mode else ENC001) - elif isinstance(kwargs["encoding"], (ast.Constant, ast.NameConstant)): + elif isinstance(kwargs["encoding"], _constant_nameconstant): if kwargs["encoding"].value is None: self.report_error(node, ENC004 if unknown_mode else ENC002) @@ -157,11 +168,12 @@ def visit_Call(self, node: ast.Call) -> None: # noqa: D102 self.check_open_encoding(node) return - if isinstance(node.func.value, ast.Str): # pragma: no cover - # Attribute on a string - return self.generic_visit(node) + if not _skip_312_deprecations: # pragma: no cover (py312+) + if isinstance(node.func.value, ast.Str): # pragma: no cover + # Attribute on a string + return self.generic_visit(node) - elif isinstance(node.func.value, ast.BinOp): # pragma: no cover + if isinstance(node.func.value, ast.BinOp): # pragma: no cover # TODO # Expressions such as (tmp_pathplus / "code.py").write_text(example_source) return self.generic_visit(node) @@ -226,7 +238,7 @@ def check_configparser_encoding(self, node: ast.Call) -> None: if "encoding" not in kwargs: self.report_error(node, ENC011) - elif isinstance(kwargs["encoding"], (ast.Constant, ast.NameConstant)): + elif isinstance(kwargs["encoding"], _constant_nameconstant): if kwargs["encoding"].value is None: self.report_error(node, ENC012) @@ -275,7 +287,7 @@ def check_pathlib_encoding(self, node: ast.Call, method_name: str) -> None: if "encoding" not in kwargs: self.report_error(node, no_encoding) - elif isinstance(kwargs["encoding"], (ast.Constant, ast.NameConstant)): + elif isinstance(kwargs["encoding"], _constant_nameconstant): if kwargs["encoding"].value is None: self.report_error(node, encoding_none) @@ -295,11 +307,12 @@ def visit_Call(self, node: ast.Call) -> None: # noqa: D102 self.check_open_encoding(node) return - if isinstance(node.func.value, ast.Str): # pragma: no cover - # Attribute on a string - return self.generic_visit(node) + if not _skip_312_deprecations: # pragma: no cover (py312+) + if isinstance(node.func.value, ast.Str): # pragma: no cover + # Attribute on a string + return self.generic_visit(node) - elif isinstance(node.func.value, ast.BinOp): # pragma: no cover + if isinstance(node.func.value, ast.BinOp): # pragma: no cover # TODO # Expressions such as (tmp_pathplus / "code.py").write_text(example_source) return self.generic_visit(node) From f45c608b56e8a4a353ccda788c9344dba9cfa220 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 20 Nov 2023 13:50:42 +0000 Subject: [PATCH 19/46] Bump version v0.5.0.post1 -> v0.5.1 --- .bumpversion.cfg | 2 +- .github/workflows/conda_ci.yml | 2 +- README.rst | 4 ++-- doc-source/index.rst | 4 ++-- doc-source/usage.rst | 2 +- flake8_encodings/__init__.py | 2 +- pyproject.toml | 2 +- repo_helper.yml | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 5f24568..1962dd1 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.5.0.post1 +current_version = 0.5.1 commit = True tag = True diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 94abd53..1ab2ca5 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -57,7 +57,7 @@ jobs: - name: "Install package" run: | - $CONDA/bin/conda install -c file://$(pwd)/conda-bld flake8-encodings=0.5.0.post1=py_1 -y || exit 1 + $CONDA/bin/conda install -c file://$(pwd)/conda-bld flake8-encodings=0.5.1=py_1 -y || exit 1 - name: "Run Tests" run: | diff --git a/README.rst b/README.rst index 528ed42..2a2b57b 100644 --- a/README.rst +++ b/README.rst @@ -101,7 +101,7 @@ flake8-encodings .. |language| image:: https://img.shields.io/github/languages/top/python-formate/flake8-encodings :alt: GitHub top language -.. |commits-since| image:: https://img.shields.io/github/commits-since/python-formate/flake8-encodings/v0.5.0.post1 +.. |commits-since| image:: https://img.shields.io/github/commits-since/python-formate/flake8-encodings/v0.5.1 :target: https://github.com/python-formate/flake8-encodings/pulse :alt: GitHub commits since tagged version @@ -149,7 +149,7 @@ To install with ``conda``: .. end installation -In version 0.5.0.post1 and above the functionality for checking classes +In version 0.5.1 and above the functionality for checking classes (``configparser.ConfigParser`` and ``pathlib.Path`` for now) requires the ``classes`` extra to be installed: diff --git a/doc-source/index.rst b/doc-source/index.rst index a237723..b671571 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -111,7 +111,7 @@ flake8-encodings :alt: GitHub top language .. |commits-since| github-shield:: - :commits-since: v0.5.0.post1 + :commits-since: v0.5.1 :alt: GitHub commits since tagged version .. |commits-latest| github-shield:: @@ -143,7 +143,7 @@ Installation .. latex:vspace:: 20px -In version 0.5.0.post1 and above the functionality for checking classes +In version 0.5.1 and above the functionality for checking classes (:class:`~configparser.ConfigParser` and :class:`~.pathlib.Path` for now) requires the ``classes`` extra to be installed: diff --git a/doc-source/usage.rst b/doc-source/usage.rst index 3e2c9a5..e118e94 100644 --- a/doc-source/usage.rst +++ b/doc-source/usage.rst @@ -93,4 +93,4 @@ See `pre-commit `_ for instructions Sample ``.pre-commit-config.yaml``: -.. pre-commit:flake8:: 0.5.0.post1 +.. pre-commit:flake8:: 0.5.1 diff --git a/flake8_encodings/__init__.py b/flake8_encodings/__init__.py index 5b8924f..8c20f54 100644 --- a/flake8_encodings/__init__.py +++ b/flake8_encodings/__init__.py @@ -56,7 +56,7 @@ __author__: str = "Dominic Davis-Foster" __copyright__: str = "2020-2021 Dominic Davis-Foster" __license__: str = "MIT License" -__version__: str = "0.5.0.post1" +__version__: str = "0.5.1" __email__: str = "dominic@davis-foster.co.uk" __all__ = ["Visitor", "ClassVisitor", "Plugin"] diff --git a/pyproject.toml b/pyproject.toml index b25e151..f21e16a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "whey" [project] name = "flake8-encodings" -version = "0.5.0.post1" +version = "0.5.1" description = "A Flake8 plugin to identify incorrect use of encodings." readme = "README.rst" keywords = [ "encodings", "flake8", "pep597", "unicode",] diff --git a/repo_helper.yml b/repo_helper.yml index 8537d00..da7da4e 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -4,7 +4,7 @@ modname: flake8-encodings copyright_years: "2020-2022" author: "Dominic Davis-Foster" email: "dominic@davis-foster.co.uk" -version: "0.5.0.post1" +version: "0.5.1" username: "python-formate" assignee: "domdfcoding" primary_conda_channel: "domdfcoding" From 35748c8ba04e7ab057d8348a0ef415ea9d4183a6 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 13 Dec 2023 14:59:34 +0000 Subject: [PATCH 20/46] Run mypy, flake8 etc. on Python 3.8 --- .github/workflows/flake8.yml | 2 +- .github/workflows/mypy.yml | 2 +- pyproject.toml | 2 +- repo_helper.yml | 2 +- tox.ini | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 5b6260e..8221173 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -35,7 +35,7 @@ jobs: if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v4" with: - python-version: "3.6" + python-version: "3.8" - name: Install dependencies 🔧 if: steps.changes.outputs.code == 'true' diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 882a62f..9b28b5f 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -40,7 +40,7 @@ jobs: if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v4" with: - python-version: "3.6" + python-version: "3.8" - name: Install dependencies 🔧 run: | diff --git a/pyproject.toml b/pyproject.toml index f21e16a..7b927f9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -129,7 +129,7 @@ autodoc_exclude_members = [ ] [tool.mypy] -python_version = "3.6" +python_version = "3.8" namespace_packages = true check_untyped_defs = true warn_unused_ignores = true diff --git a/repo_helper.yml b/repo_helper.yml index da7da4e..ca826fb 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -13,7 +13,7 @@ short_desc: "A Flake8 plugin to identify incorrect use of encodings." min_coverage: 94 use_whey: true -python_deploy_version: 3.6 +python_deploy_version: 3.8 docs_fail_on_warning: true tox_testenv_extras: classes sphinx_html_theme: furo diff --git a/tox.ini b/tox.ini index c5e07c3..f6b7d8c 100644 --- a/tox.ini +++ b/tox.ini @@ -58,7 +58,7 @@ test = pypy38 pypy39 qa = mypy, lint -cov = py36, coverage +cov = py38, coverage [testenv:.package] setenv = @@ -102,7 +102,7 @@ commands = check-wheel-contents dist/ [testenv:lint] -basepython = python3.6 +basepython = python3.8 changedir = {toxinidir} ignore_errors = True skip_install = False @@ -132,7 +132,7 @@ deps = commands = python3 -m flake8_rst_docstrings_sphinx flake8_encodings tests --allow-toolbox {posargs} [testenv:perflint] -basepython = python3.6 +basepython = python3.8 changedir = {toxinidir} ignore_errors = True skip_install = True @@ -140,7 +140,7 @@ deps = perflint commands = python3 -m perflint flake8_encodings {posargs} [testenv:mypy] -basepython = python3.6 +basepython = python3.8 ignore_errors = True changedir = {toxinidir} extras = classes @@ -151,7 +151,7 @@ deps = commands = mypy flake8_encodings tests {posargs} [testenv:pyup] -basepython = python3.6 +basepython = python3.8 skip_install = True ignore_errors = True changedir = {toxinidir} @@ -160,7 +160,7 @@ extras = classes commands = pyup_dirs flake8_encodings tests --py36-plus --recursive [testenv:coverage] -basepython = python3.6 +basepython = python3.8 skip_install = True ignore_errors = True whitelist_externals = /bin/bash From 514d802730cc2c7a949933e99f34b681d9d51c42 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:40:17 +0000 Subject: [PATCH 21/46] Updated files with 'repo_helper'. (#39) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- tox.ini | 5 +++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 3a3c387..33afccb 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.2,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 43b4451..f8bbf4e 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.2,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index c64a775..d53253b 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.1,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.2,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} diff --git a/tox.ini b/tox.ini index f6b7d8c..b2036a6 100644 --- a/tox.ini +++ b/tox.ini @@ -94,7 +94,8 @@ changedir = {toxinidir} deps = build[virtualenv]>=0.3.1 check-wheel-contents>=0.1.0 - twine>=3.2.0 + twine>=3.2.0; python_version < "3.13" + twine@git+https://github.com/pypa/twine; python_version >= "3.13" cryptography<40; implementation_name == "pypy" and python_version <= "3.7" commands = python -m build --sdist --wheel "{toxinidir}" @@ -114,7 +115,7 @@ deps = flake8-dunder-all>=0.1.1 flake8-encodings>=0.1.0 flake8-github-actions>=0.1.0 - flake8-noqa>=1.1.0,<=1.2.2 + flake8-noqa>=1.1.0 flake8-pyi>=20.10.0,<=22.8.0 flake8-pytest-style>=1.3.0 flake8-quotes>=3.3.0 From 2d1d36222f7f20a4866528571e5d780562513fd3 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 07:25:49 +0000 Subject: [PATCH 22/46] [repo-helper] Configuration Update (#40) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. --------- Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/conda_ci.yml | 2 +- .github/workflows/python_ci_linux.yml | 2 +- .readthedocs.yml | 3 +++ README.rst | 2 +- doc-source/index.rst | 2 +- tox.ini | 2 +- 6 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 1ab2ca5..3d945a5 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -30,7 +30,7 @@ jobs: uses: conda-incubator/setup-miniconda@v2 with: activate-environment: env - conda-build-version: 3.23.3 + conda-build-version: 3.28.4 python-version: "3.8" miniforge-variant: Mambaforge diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index f8bbf4e..d8f77aa 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -194,7 +194,7 @@ jobs: uses: conda-incubator/setup-miniconda@v2 with: activate-environment: env - conda-build-version: 3.23.3 + conda-build-version: 3.28.4 python-version: "3.8" miniforge-variant: Mambaforge diff --git a/.readthedocs.yml b/.readthedocs.yml index 8513279..94e6ea7 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -19,3 +19,6 @@ build: jobs: post_create_environment: - pip install .[classes] + post_install: + - pip install sphinxcontrib-applehelp==1.0.4 sphinxcontrib-devhelp==1.0.2 sphinxcontrib-htmlhelp==2.0.1 + sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 diff --git a/README.rst b/README.rst index 2a2b57b..f0c9694 100644 --- a/README.rst +++ b/README.rst @@ -109,7 +109,7 @@ flake8-encodings :target: https://github.com/python-formate/flake8-encodings/commit/master :alt: GitHub last commit -.. |maintained| image:: https://img.shields.io/maintenance/yes/2023 +.. |maintained| image:: https://img.shields.io/maintenance/yes/2024 :alt: Maintenance .. |pypi-downloads| image:: https://img.shields.io/pypi/dm/flake8-encodings diff --git a/doc-source/index.rst b/doc-source/index.rst index b671571..4db2851 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -118,7 +118,7 @@ flake8-encodings :last-commit: :alt: GitHub last commit - .. |maintained| maintained-shield:: 2023 + .. |maintained| maintained-shield:: 2024 :alt: Maintenance .. |pypi-downloads| pypi-shield:: diff --git a/tox.ini b/tox.ini index b2036a6..8f6b051 100644 --- a/tox.ini +++ b/tox.ini @@ -115,7 +115,7 @@ deps = flake8-dunder-all>=0.1.1 flake8-encodings>=0.1.0 flake8-github-actions>=0.1.0 - flake8-noqa>=1.1.0 + flake8-noqa>=1.1.0,<=1.2.2 flake8-pyi>=20.10.0,<=22.8.0 flake8-pytest-style>=1.3.0 flake8-quotes>=3.3.0 From 9ce8ed27a0e6c7e5d207ad38f3f5ca1a70e6f824 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 5 Feb 2024 11:47:18 +0000 Subject: [PATCH 23/46] Updated files with 'repo_helper'. (#41) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/conda_ci.yml | 4 ++-- .github/workflows/docs_test_action.yml | 2 +- .github/workflows/flake8.yml | 4 ++-- .github/workflows/mypy.yml | 4 ++-- .github/workflows/python_ci.yml | 8 ++++---- .github/workflows/python_ci_linux.yml | 20 ++++++++++---------- .github/workflows/python_ci_macos.yml | 8 ++++---- .pre-commit-config.yaml | 12 ++++++------ 8 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 3d945a5..6e80b77 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -19,10 +19,10 @@ jobs: steps: - name: Checkout 🛎️ - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: Setup Python 🐍 - uses: "actions/setup-python@v4" + uses: "actions/setup-python@v5" with: python-version: "3.8" diff --git a/.github/workflows/docs_test_action.yml b/.github/workflows/docs_test_action.yml index b09bde3..8f60ba5 100644 --- a/.github/workflows/docs_test_action.yml +++ b/.github/workflows/docs_test_action.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout 🛎️ - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: Check for changed files uses: dorny/paths-filter@v2 diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 8221173..0a8c0c3 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -20,7 +20,7 @@ jobs: steps: - name: Checkout 🛎️ - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: Check for changed files uses: dorny/paths-filter@v2 @@ -33,7 +33,7 @@ jobs: - name: Setup Python 🐍 if: steps.changes.outputs.code == 'true' - uses: "actions/setup-python@v4" + uses: "actions/setup-python@v5" with: python-version: "3.8" diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 9b28b5f..10c6f30 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -25,7 +25,7 @@ jobs: steps: - name: Checkout 🛎️ - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: Check for changed files uses: dorny/paths-filter@v2 @@ -38,7 +38,7 @@ jobs: - name: Setup Python 🐍 if: steps.changes.outputs.code == 'true' - uses: "actions/setup-python@v4" + uses: "actions/setup-python@v5" with: python-version: "3.8" diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 33afccb..6376d9c 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.2,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} @@ -43,7 +43,7 @@ jobs: steps: - name: Checkout 🛎️ - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: Check for changed files if: startsWith(github.ref, 'refs/tags/') != true @@ -58,7 +58,7 @@ jobs: - name: Setup Python 🐍 id: setup-python if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} - uses: "actions/setup-python@v4" + uses: "actions/setup-python@v5" with: python-version: "${{ matrix.config.python-version }}" diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index d8f77aa..c3e8cb2 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.2,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} @@ -44,7 +44,7 @@ jobs: steps: - name: Checkout 🛎️ - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: Check for changed files if: startsWith(github.ref, 'refs/tags/') != true @@ -59,7 +59,7 @@ jobs: - name: Setup Python 🐍 id: setup-python if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} - uses: "actions/setup-python@v4" + uses: "actions/setup-python@v5" with: python-version: "${{ matrix.config.python-version }}" @@ -89,10 +89,10 @@ jobs: runs-on: "ubuntu-20.04" steps: - name: Checkout 🛎️ - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: Setup Python 🐍 - uses: "actions/setup-python@v4" + uses: "actions/setup-python@v5" with: python-version: 3.8 @@ -138,11 +138,11 @@ jobs: runs-on: "ubuntu-20.04" steps: - name: Checkout 🛎️ - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" if: startsWith(github.ref, 'refs/tags/') - name: Setup Python 🐍 - uses: "actions/setup-python@v4" + uses: "actions/setup-python@v5" if: startsWith(github.ref, 'refs/tags/') with: python-version: 3.8 @@ -183,10 +183,10 @@ jobs: if: startsWith(github.ref, 'refs/tags/') || (startsWith(github.event.head_commit.message, 'Bump version') != true) steps: - name: Checkout 🛎️ - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: Setup Python 🐍 - uses: "actions/setup-python@v4" + uses: "actions/setup-python@v5" with: python-version: 3.8 diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index d53253b..4f39d5e 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.2,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.3,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,14 +35,14 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} steps: - name: Checkout 🛎️ - uses: "actions/checkout@v3" + uses: "actions/checkout@v4" - name: Check for changed files if: startsWith(github.ref, 'refs/tags/') != true @@ -57,7 +57,7 @@ jobs: - name: Setup Python 🐍 id: setup-python if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} - uses: "actions/setup-python@v4" + uses: "actions/setup-python@v5" with: python-version: "${{ matrix.config.python-version }}" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index abecced..047512b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,7 +8,7 @@ ci: repos: - repo: https://github.com/repo-helper/pyproject-parser - rev: v0.9.0 + rev: v0.9.1 hooks: - id: reformat-pyproject @@ -43,13 +43,13 @@ repos: - id: bind-requirements - repo: https://github.com/domdfcoding/flake8-dunder-all - rev: v0.3.0 + rev: v0.3.1 hooks: - id: ensure-dunder-all files: ^flake8_encodings/.*\.py$ - repo: https://github.com/domdfcoding/flake2lint - rev: v0.4.2 + rev: v0.4.3 hooks: - id: flake2lint @@ -76,18 +76,18 @@ repos: - id: forbid-crlf - repo: https://github.com/python-formate/snippet-fmt - rev: v0.1.4 + rev: v0.1.5 hooks: - id: snippet-fmt - repo: https://github.com/python-formate/formate - rev: v0.5.0 + rev: v0.7.0 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ - repo: https://github.com/domdfcoding/dep_checker - rev: v0.7.1 + rev: v0.8.0 hooks: - id: dep_checker args: From 46fe2de876e6959c900b8d2e063da82e6e1ae5c8 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 5 Mar 2024 10:52:53 +0000 Subject: [PATCH 24/46] Disable jedi tests on Python 3.13 until supported by jedi --- flake8_encodings/__init__.py | 10 +++++----- repo_helper.yml | 1 + tox.ini | 15 +++++++++------ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/flake8_encodings/__init__.py b/flake8_encodings/__init__.py index 8c20f54..f3a7817 100644 --- a/flake8_encodings/__init__.py +++ b/flake8_encodings/__init__.py @@ -186,7 +186,7 @@ def visit_Call(self, node: ast.Call) -> None: # noqa: D102 self.generic_visit(node) -class ClassVisitor(Visitor): +class ClassVisitor(Visitor): # pragma: no cover (py313+) """ AST visitor to identify incorrect use of encodings, with support for :class:`pathlib.Path` and :class:`configparser.ConfigParser`. @@ -361,7 +361,7 @@ def __init__(self, tree: ast.AST, filename: PathLike): def run(self) -> Iterator[Tuple[int, int, str, Type["Plugin"]]]: # noqa: D102 - try: + try: # pragma: no cover (py313+) # 3rd party import jedi @@ -388,7 +388,7 @@ def run(self) -> Iterator[Tuple[int, int, str, Type["Plugin"]]]: # noqa: D102 yield line, col, msg, type(self) -def is_configparser_read(class_name: str, method_name: str) -> bool: +def is_configparser_read(class_name: str, method_name: str) -> bool: # pragma: no cover (py313+) """ Returns :py:obj:`True` if method is :meth:`configparser.ConfigParser.read` or :meth:`configparser.RawConfigParser.read`. @@ -408,7 +408,7 @@ def is_configparser_read(class_name: str, method_name: str) -> bool: return True -def is_pathlib_method(class_name: str, method_name: str) -> bool: +def is_pathlib_method(class_name: str, method_name: str) -> bool: # pragma: no cover (py313+) """ Returns :py:obj:`True` if method is :meth:`pathlib.Path.open`, :meth:`read_text() ` or :meth:`write_text() `. @@ -428,7 +428,7 @@ def is_pathlib_method(class_name: str, method_name: str) -> bool: return True -def get_inferred_types(jedi_script: "Script", node: ast.Call) -> List[str]: +def get_inferred_types(jedi_script: "Script", node: ast.Call) -> List[str]: # pragma: no cover (py313+) """ Returns a list of types inferred by ``jedi`` for the given call node. diff --git a/repo_helper.yml b/repo_helper.yml index ca826fb..3ca808f 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -68,6 +68,7 @@ extras_require: tox_unmanaged: - testenv + - testenv:py313-dev exclude_files: - contributing diff --git a/tox.ini b/tox.ini index 8f6b051..4e09abb 100644 --- a/tox.ini +++ b/tox.ini @@ -3,7 +3,6 @@ # * tox # * envlists # * testenv:.package -# * testenv:py313-dev # * testenv:py312-dev # * testenv:py312 # * testenv:docs @@ -65,11 +64,6 @@ setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 -[testenv:py313-dev] -setenv = - PYTHONDEVMODE=1 - PIP_DISABLE_PIP_VERSION_CHECK=1 - [testenv:py312] setenv = PYTHONDEVMODE=1 @@ -231,6 +225,15 @@ filterwarnings = error ignore:can't resolve package from __spec__ or __package__, falling back on __name__ and __path__:ImportWarning +[testenv:py313-dev] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 +commands = + python --version + python -m pip uninstall jedi -y + python -m pytest --cov=flake8_encodings -r aR tests/ --cov-append {posargs} + [testenv] setenv = PYTHONDEVMODE=1 From 43eddccc9a8345545ae9395ae5ff0013cd008184 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 5 Mar 2024 11:18:26 +0000 Subject: [PATCH 25/46] Updated files with 'repo_helper'. (#42) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 6 +++--- .github/workflows/python_ci_linux.yml | 10 +++++----- .github/workflows/python_ci_macos.yml | 6 +++--- formate.toml | 2 +- tox.ini | 3 +-- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 6376d9c..f250e6a 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} @@ -75,7 +75,7 @@ jobs: run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage 🚀" - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index c3e8cb2..40c1411 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} @@ -77,7 +77,7 @@ jobs: run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage 🚀" - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" @@ -102,7 +102,7 @@ jobs: python -m pip install --upgrade "coveralls>=3.0.0" coverage_pyver_pragma - name: "Download Coverage 🪂" - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: path: coverage @@ -120,7 +120,7 @@ jobs: - name: "Upload Combined Coverage Artefact 🚀" if: ${{ steps.show.outcome != 'failure' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: "combined-coverage" path: .coverage diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 4f39d5e..906a585 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.3,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.4,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} @@ -74,7 +74,7 @@ jobs: run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage 🚀" - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" diff --git a/formate.toml b/formate.toml index d85fcd5..2cb1c76 100644 --- a/formate.toml +++ b/formate.toml @@ -52,4 +52,4 @@ known_third_party = [ "pytest_timeout", "requests", ] -known_first_party = "flake8_encodings" +known_first_party = [ "flake8_encodings",] diff --git a/tox.ini b/tox.ini index 4e09abb..77962fc 100644 --- a/tox.ini +++ b/tox.ini @@ -88,8 +88,7 @@ changedir = {toxinidir} deps = build[virtualenv]>=0.3.1 check-wheel-contents>=0.1.0 - twine>=3.2.0; python_version < "3.13" - twine@git+https://github.com/pypa/twine; python_version >= "3.13" + twine>=3.2.0 cryptography<40; implementation_name == "pypy" and python_version <= "3.7" commands = python -m build --sdist --wheel "{toxinidir}" From af4dde4d6b80d23dd9305aa3c4d050107ecd42cf Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 13:59:47 +0000 Subject: [PATCH 26/46] [repo-helper] Configuration Update (#43) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. --------- Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .dependabot/config.yml | 9 --------- .github/dependabot.yml | 1 + .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- 5 files changed, 7 insertions(+), 15 deletions(-) delete mode 100644 .dependabot/config.yml diff --git a/.dependabot/config.yml b/.dependabot/config.yml deleted file mode 100644 index 4584924..0000000 --- a/.dependabot/config.yml +++ /dev/null @@ -1,9 +0,0 @@ -# This file is managed by 'repo_helper'. Don't edit it directly. ---- -version: 1 -update_configs: -- package_manager: python - directory: / - update_schedule: weekly - default_reviewers: - - domdfcoding diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e769ad3..454225a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,5 +6,6 @@ updates: directory: / schedule: interval: weekly + open-pull-requests-limit: 0 reviewers: - domdfcoding diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index f250e6a..e1544dc 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.5,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 40c1411..ec3d045 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.5,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 906a585..dfb2494 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.4,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.5,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} From a85bd8abdb0be94d18a99ebf7609faa9343c229a Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 18:33:18 +0100 Subject: [PATCH 27/46] [repo-helper] Configuration Update (#44) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. --------- Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- tox.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tox.ini b/tox.ini index 77962fc..467ff44 100644 --- a/tox.ini +++ b/tox.ini @@ -110,7 +110,7 @@ deps = flake8-github-actions>=0.1.0 flake8-noqa>=1.1.0,<=1.2.2 flake8-pyi>=20.10.0,<=22.8.0 - flake8-pytest-style>=1.3.0 + flake8-pytest-style>=1.3.0,<2 flake8-quotes>=3.3.0 flake8-slots>=0.1.0 flake8-sphinx-links>=0.0.4 @@ -208,8 +208,8 @@ exclude_lines = raise NotImplementedError if 0: if False: - if TYPE_CHECKING: - if typing.TYPE_CHECKING: + if TYPE_CHECKING + if typing.TYPE_CHECKING if __name__ == .__main__.: [check-wheel-contents] From bbafd15596854405d78e2dcb119ed81d05e26d32 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 14:40:06 +0100 Subject: [PATCH 28/46] [repo-helper] Configuration Update (#45) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. --------- Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- doc-source/conf.py | 6 ++++++ formate.toml | 16 ++++++++-------- pyproject.toml | 27 ++++++++++++--------------- 4 files changed, 27 insertions(+), 24 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 047512b..e9fc760 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,7 +8,7 @@ ci: repos: - repo: https://github.com/repo-helper/pyproject-parser - rev: v0.9.1 + rev: v0.11.0 hooks: - id: reformat-pyproject diff --git a/doc-source/conf.py b/doc-source/conf.py index 62200c8..1504175 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -74,8 +74,14 @@ def setup(app): # 3rd party from sphinx_toolbox.latex import better_header_layout + from sphinxemoji import sphinxemoji app.connect("config-inited", lambda app, config: better_header_layout(config)) + app.connect("build-finished", sphinxemoji.copy_asset_files) + app.add_js_file("https://unpkg.com/twemoji@latest/dist/twemoji.min.js") + app.add_js_file("twemoji.js") + app.add_css_file("twemoji.css") + app.add_transform(sphinxemoji.EmojiSubstitutions) needspace_amount = r"5\baselineskip" diff --git a/formate.toml b/formate.toml index 2cb1c76..a2e27c5 100644 --- a/formate.toml +++ b/formate.toml @@ -6,21 +6,17 @@ noqa-reformat = 60 ellipsis-reformat = 70 squish_stubs = 80 -[config] -indent = "\t" -line_length = 115 - [hooks.yapf] priority = 30 -[hooks.isort] -priority = 50 - [hooks.yapf.kwargs] yapf_style = ".style.yapf" +[hooks.isort] +priority = 50 + [hooks.isort.kwargs] -indent = "\t\t" +indent = " " multi_line_output = 8 import_heading_stdlib = "stdlib" import_heading_thirdparty = "3rd party" @@ -53,3 +49,7 @@ known_third_party = [ "requests", ] known_first_party = [ "flake8_encodings",] + +[config] +indent = " " +line_length = 115 diff --git a/pyproject.toml b/pyproject.toml index 7b927f9..e496e0a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,6 @@ dynamic = [ "requires-python", "classifiers", "dependencies",] name = "Dominic Davis-Foster" email = "dominic@davis-foster.co.uk" - [project.license] file = "LICENSE" @@ -28,6 +27,9 @@ Documentation = "https://flake8-encodings.readthedocs.io/en/latest" classes = [ "jedi>=0.18.0",] all = [ "jedi>=0.18.0",] +[project.entry-points."flake8.extension"] +ENC0 = "flake8_encodings:Plugin" + [tool.whey] base-classifiers = [ "Development Status :: 4 - Beta", @@ -67,7 +69,6 @@ extensions = [ "sphinx.ext.mathjax", "sphinxcontrib.extras_require", "sphinx.ext.todo", - "sphinxemoji.sphinxemoji", "notfound.extension", "sphinx_copybutton", "sphinxcontrib.default_values", @@ -79,7 +80,6 @@ extensions = [ "sphinx_toolbox.flake8", "sphinx_favicon", ] -sphinxemoji_style = "twemoji" gitstamp_fmt = "%d %b %Y" templates_path = [ "_templates",] html_static_path = [ "_static",] @@ -139,8 +139,15 @@ show_error_codes = true [tool.snippet-fmt] directives = [ "code-block",] -[project.entry-points."flake8.extension"] -ENC0 = "flake8_encodings:Plugin" +[tool.snippet-fmt.languages.python] +reformat = true + +[tool.snippet-fmt.languages.TOML] +reformat = true + +[tool.snippet-fmt.languages.ini] + +[tool.snippet-fmt.languages.json] [tool.dependency-dash."requirements.txt"] order = 10 @@ -152,13 +159,3 @@ include = false [tool.dependency-dash."doc-source/requirements.txt"] order = 30 include = false - -[tool.snippet-fmt.languages.python] -reformat = true - -[tool.snippet-fmt.languages.TOML] -reformat = true - -[tool.snippet-fmt.languages.ini] - -[tool.snippet-fmt.languages.json] From 824b6d53819a899d0d56cb1c987770caae06a3a3 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 15:33:38 +0000 Subject: [PATCH 29/46] Bump Python 3.13 alpha (#46) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index e1544dc..18a6659 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.5,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.6,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index ec3d045..f0bf8ce 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.5,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.6,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index dfb2494..6602664 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.5,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} From 712c77f62e46b3d0382dace4d51f39ba5e9d20f4 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 16:26:16 +0100 Subject: [PATCH 30/46] Updated files with 'repo_helper'. (#47) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci_macos.yml | 4 ++-- .pre-commit-config.yaml | 2 +- tox.ini | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 6602664..cd3d2fc 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -18,8 +18,8 @@ permissions: jobs: tests: - name: "macos-latest / Python ${{ matrix.config.python-version }}" - runs-on: "macos-latest" + name: "macos-13 / Python ${{ matrix.config.python-version }}" + runs-on: "macos-13" continue-on-error: ${{ matrix.config.experimental }} env: USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.6,pypy-3.7,pypy-3.8,pypy-3.9' diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e9fc760..9db85d3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -43,7 +43,7 @@ repos: - id: bind-requirements - repo: https://github.com/domdfcoding/flake8-dunder-all - rev: v0.3.1 + rev: v0.4.1 hooks: - id: ensure-dunder-all files: ^flake8_encodings/.*\.py$ diff --git a/tox.ini b/tox.ini index 467ff44..ac37404 100644 --- a/tox.ini +++ b/tox.ini @@ -83,6 +83,7 @@ setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_PREFER_BINARY=1 + UNSAFE_PYO3_SKIP_VERSION_CHECK=1 skip_install = True changedir = {toxinidir} deps = From df8391c2d84983fc18f0b27c8fdba57442a4893a Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 15:30:29 +0100 Subject: [PATCH 31/46] Updated files with 'repo_helper'. (#48) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- pyproject.toml | 12 ++++++------ 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 18a6659..fb0f9fe 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.6,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.1", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index f0bf8ce..c3ca7e8 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.6,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.1", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index cd3d2fc..1929c7c 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-13" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-alpha.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.1,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.1", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} diff --git a/pyproject.toml b/pyproject.toml index e496e0a..ca22c56 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,26 +10,26 @@ readme = "README.rst" keywords = [ "encodings", "flake8", "pep597", "unicode",] dynamic = [ "requires-python", "classifiers", "dependencies",] +[project.license] +file = "LICENSE" + [[project.authors]] name = "Dominic Davis-Foster" email = "dominic@davis-foster.co.uk" -[project.license] -file = "LICENSE" - [project.urls] Homepage = "https://github.com/python-formate/flake8-encodings" "Issue Tracker" = "https://github.com/python-formate/flake8-encodings/issues" "Source Code" = "https://github.com/python-formate/flake8-encodings" Documentation = "https://flake8-encodings.readthedocs.io/en/latest" +[project.entry-points."flake8.extension"] +ENC0 = "flake8_encodings:Plugin" + [project.optional-dependencies] classes = [ "jedi>=0.18.0",] all = [ "jedi>=0.18.0",] -[project.entry-points."flake8.extension"] -ENC0 = "flake8_encodings:Plugin" - [tool.whey] base-classifiers = [ "Development Status :: 4 - Beta", From 34194f8d5996640885cec092118dde4e41975d02 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 10:50:13 +0100 Subject: [PATCH 32/46] Bump Python 3.13 prerelease in GHA (#49) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index fb0f9fe..ad3c192 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.2,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.1", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.2", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index c3ca7e8..a08dd0a 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.2,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.1", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.2", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 1929c7c..5b21ce2 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-13" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.1,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.2,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.1", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.2", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} From c628909dbe28a20d4719980f32730d5ce75ef58b Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 19 Jun 2024 10:08:14 +0100 Subject: [PATCH 33/46] [repo-helper] Configuration Update (#50) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. --------- Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/conda_ci.yml | 7 ++++--- .github/workflows/python_ci.yml | 2 +- .github/workflows/python_ci_linux.yml | 7 ++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 6e80b77..9b3fbc7 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -24,14 +24,15 @@ jobs: - name: Setup Python 🐍 uses: "actions/setup-python@v5" with: - python-version: "3.8" + python-version: "3.11" - name: Setup Conda - uses: conda-incubator/setup-miniconda@v2 + uses: conda-incubator/setup-miniconda@v2.1.1 with: activate-environment: env conda-build-version: 3.28.4 - python-version: "3.8" + miniconda-version: py311_24.1.2-0 + python-version: "3.11" miniforge-variant: Mambaforge - name: Install dependencies 🔧 diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index ad3c192..2317793 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -39,7 +39,7 @@ jobs: - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} + - {python-version: "pypy-3.9-v7.3.15", testenvs: "pypy39,build", experimental: True} steps: - name: Checkout 🛎️ diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index a08dd0a..51d350f 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -188,14 +188,15 @@ jobs: - name: Setup Python 🐍 uses: "actions/setup-python@v5" with: - python-version: 3.8 + python-version: 3.11 - name: Setup Conda - uses: conda-incubator/setup-miniconda@v2 + uses: conda-incubator/setup-miniconda@v2.1.1 with: activate-environment: env conda-build-version: 3.28.4 - python-version: "3.8" + miniconda-version: py311_24.1.2-0 + python-version: "3.11" miniforge-variant: Mambaforge - name: Install dependencies 🔧 From 30724c693fd77af12a7590e19a00cc232156aff8 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 11:00:54 +0100 Subject: [PATCH 34/46] Updated files with 'repo_helper'. (#51) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- doc-source/conf.py | 17 ++++++++++++++++- doc-source/requirements.txt | 6 ++++++ 5 files changed, 28 insertions(+), 7 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 2317793..67fc281 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.2,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.2", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.3", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 51d350f..9e16b8a 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.2,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.2", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.3", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 5b21ce2..3e12f15 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-13" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.2,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.3,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.2", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.3", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} diff --git a/doc-source/conf.py b/doc-source/conf.py index 1504175..8eb3017 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -71,13 +71,28 @@ } +# Fix for pathlib issue with sphinxemoji on Python 3.9 and Sphinx 4.x +def copy_asset_files(app, exc): + # 3rd party + from domdf_python_tools.compat import importlib_resources + from sphinx.util.fileutil import copy_asset + + if exc: + return + + asset_files = ["twemoji.js", "twemoji.css"] + for path in asset_files: + path_str = os.fspath(importlib_resources.files("sphinxemoji") / path) + copy_asset(path_str, os.path.join(app.outdir, "_static")) + + def setup(app): # 3rd party from sphinx_toolbox.latex import better_header_layout from sphinxemoji import sphinxemoji app.connect("config-inited", lambda app, config: better_header_layout(config)) - app.connect("build-finished", sphinxemoji.copy_asset_files) + app.connect("build-finished", copy_asset_files) app.add_js_file("https://unpkg.com/twemoji@latest/dist/twemoji.min.js") app.add_js_file("twemoji.js") app.add_css_file("twemoji.css") diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index 67914f2..5c3686f 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -12,5 +12,11 @@ sphinx-notfound-page>=0.7.1 sphinx-prompt>=1.1.0 sphinx-pyproject>=0.1.0 sphinx-toolbox>=3.5.0 +sphinxcontrib-applehelp==1.0.4 +sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-serializinghtml==1.1.5 sphinxemoji>=0.1.6 toctree-plus>=0.6.1 From cc107d17d0f1bd1665ec94ee6c1ebcb76e4e0710 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 12:11:53 +0100 Subject: [PATCH 35/46] [repo-helper] Configuration Update (#52) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. --------- Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- doc-source/requirements.txt | 1 - 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 67fc281..3f9b558 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.3", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.4", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 9e16b8a..8db1fc9 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.3", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.4", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 3e12f15..bcbae33 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-13" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.3,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.4,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.3", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-beta.4", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index 5c3686f..3a34638 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -9,7 +9,6 @@ sphinx-debuginfo>=0.2.2 sphinx-favicon>=0.2 sphinx-licenseinfo>=0.3.1 sphinx-notfound-page>=0.7.1 -sphinx-prompt>=1.1.0 sphinx-pyproject>=0.1.0 sphinx-toolbox>=3.5.0 sphinxcontrib-applehelp==1.0.4 From 8fac5fd6b31b709e92fdd0ed8cd614c1dab51243 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 15:09:22 +0100 Subject: [PATCH 36/46] Bump Python 3.13 prerelease (#53) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 3f9b558..53cd206 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.4", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-rc.1", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 8db1fc9..1ac0add 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.4,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.4", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-rc.1", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index bcbae33..9eb8213 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-13" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-beta.4,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-rc.1,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-beta.4", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13.0-rc.1", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} From 2441b5b3e69db368c1a1f4652c20132d17b2f90a Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 15:25:29 +0100 Subject: [PATCH 37/46] Updated files with 'repo_helper'. (#54) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- .pre-commit-config.yaml | 6 +++--- tox.ini | 2 ++ 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 53cd206..a59c645 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-rc.1", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 1ac0add..e34ddc5 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-rc.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-rc.1", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 9eb8213..99220be 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-13" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13.0-rc.1,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13.0-rc.1", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13", testenvs: "py313-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9db85d3..3bea1eb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,7 +8,7 @@ ci: repos: - repo: https://github.com/repo-helper/pyproject-parser - rev: v0.11.0 + rev: v0.11.1 hooks: - id: reformat-pyproject @@ -42,7 +42,7 @@ repos: exclude: ^(doc-source/conf|__pkginfo__|setup|tests/.*)\.py$ - id: bind-requirements - - repo: https://github.com/domdfcoding/flake8-dunder-all + - repo: https://github.com/python-formate/flake8-dunder-all rev: v0.4.1 hooks: - id: ensure-dunder-all @@ -86,7 +86,7 @@ repos: - id: formate exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ - - repo: https://github.com/domdfcoding/dep_checker + - repo: https://github.com/python-coincidence/dep_checker rev: v0.8.0 hooks: - id: dep_checker diff --git a/tox.ini b/tox.ini index ac37404..c43ecc2 100644 --- a/tox.ini +++ b/tox.ini @@ -3,6 +3,7 @@ # * tox # * envlists # * testenv:.package +# * testenv:py313 # * testenv:py312-dev # * testenv:py312 # * testenv:docs @@ -65,6 +66,7 @@ setenv = PIP_DISABLE_PIP_VERSION_CHECK=1 [testenv:py312] +download = True setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 From 80d4f22f58b7ae1bb683a7718c44c6e2c6fbaf40 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 5 Feb 2025 10:12:17 +0000 Subject: [PATCH 38/46] Updated files with 'repo_helper'. (#55) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- README.rst | 2 +- doc-source/index.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3bea1eb..ceab6ab 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -81,7 +81,7 @@ repos: - id: snippet-fmt - repo: https://github.com/python-formate/formate - rev: v0.7.0 + rev: v0.8.0 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ diff --git a/README.rst b/README.rst index f0c9694..81f8207 100644 --- a/README.rst +++ b/README.rst @@ -109,7 +109,7 @@ flake8-encodings :target: https://github.com/python-formate/flake8-encodings/commit/master :alt: GitHub last commit -.. |maintained| image:: https://img.shields.io/maintenance/yes/2024 +.. |maintained| image:: https://img.shields.io/maintenance/yes/2025 :alt: Maintenance .. |pypi-downloads| image:: https://img.shields.io/pypi/dm/flake8-encodings diff --git a/doc-source/index.rst b/doc-source/index.rst index 4db2851..b436d89 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -118,7 +118,7 @@ flake8-encodings :last-commit: :alt: GitHub last commit - .. |maintained| maintained-shield:: 2024 + .. |maintained| maintained-shield:: 2025 :alt: Maintenance .. |pypi-downloads| pypi-shield:: From 4e80f6ef6f0eb9b876fb29516d13daf1a32004ee Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 8 Apr 2025 10:25:10 +0100 Subject: [PATCH 39/46] Drop support for Python 3.6 --- .github/workflows/python_ci.yml | 6 ++---- .github/workflows/python_ci_linux.yml | 6 ++---- .github/workflows/python_ci_macos.yml | 5 ++--- pyproject.toml | 2 +- repo_helper.yml | 4 +--- tox.ini | 21 ++++----------------- 6 files changed, 12 insertions(+), 32 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index a59c645..b27e6dd 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,21 +22,19 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False matrix: config: - - {python-version: "3.6", testenvs: "py36,build", experimental: False} - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13", testenvs: "py313-dev,build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36", experimental: False} + - {python-version: "3.13", testenvs: "py313,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9-v7.3.15", testenvs: "pypy39,build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index e34ddc5..9a45588 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,21 +23,19 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False matrix: config: - - {python-version: "3.6", testenvs: "py36,build", experimental: False} - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13", testenvs: "py313-dev,build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} + - {python-version: "3.13", testenvs: "py313,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 99220be..bd09806 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,20 +22,19 @@ jobs: runs-on: "macos-13" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False matrix: config: - - {python-version: "3.6", testenvs: "py36,build", experimental: False} - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13", testenvs: "py313-dev,build", experimental: True} + - {python-version: "3.13", testenvs: "py313,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} diff --git a/pyproject.toml b/pyproject.toml index ca22c56..eb385e5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,7 @@ base-classifiers = [ "Topic :: Utilities", "Typing :: Typed", ] -python-versions = [ "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12",] +python-versions = [ "3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13",] python-implementations = [ "CPython", "PyPy",] platforms = [ "Windows", "macOS", "Linux",] license-key = "MIT" diff --git a/repo_helper.yml b/repo_helper.yml index 3ca808f..65fbfcd 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -23,15 +23,13 @@ conda_channels: # Versions to run tests for python_versions: - - '3.6' - '3.7' - '3.8' - '3.9' - "3.10" - "3.11" - "3.12" - - 3.13-dev - - pypy36 + - "3.13" - pypy37 - pypy38 - pypy39 diff --git a/tox.ini b/tox.ini index c43ecc2..147ecd7 100644 --- a/tox.ini +++ b/tox.ini @@ -3,6 +3,7 @@ # * tox # * envlists # * testenv:.package +# * testenv:py313-dev # * testenv:py313 # * testenv:py312-dev # * testenv:py312 @@ -21,15 +22,13 @@ [tox] envlist = - py36 py37 py38 py39 py310 py311 py312 - py313-dev - pypy36 + py313 pypy37 pypy38 pypy39 @@ -44,19 +43,7 @@ requires = virtualenv!=20.16.0 [envlists] -test = - py36 - py37 - py38 - py39 - py310 - py311 - py312 - py313-dev - pypy36 - pypy37 - pypy38 - pypy39 +test = py37, py38, py39, py310, py311, py312, py313, pypy37, pypy38, pypy39 qa = mypy, lint cov = py38, coverage @@ -194,7 +181,7 @@ inline-quotes = " multiline-quotes = """ docstring-quotes = """ count = True -min_python_version = 3.6.1 +min_python_version = 3.7 unused-arguments-ignore-abstract-functions = True unused-arguments-ignore-overload-functions = True unused-arguments-ignore-magic-methods = True From 59242aba8199d64d670ca21df53a8993c1fde73c Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 10 Apr 2025 14:27:49 +0100 Subject: [PATCH 40/46] Mark Python 3.13 as experimental in GitHub Actions as failing there. --- .github/workflows/python_ci.yml | 2 +- .github/workflows/python_ci_linux.yml | 2 +- .github/workflows/python_ci_macos.yml | 2 +- repo_helper.yml | 23 ++++++++++++----------- tox.ini | 5 +++-- 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index b27e6dd..696878d 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -34,7 +34,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13", testenvs: "py313,build", experimental: False} + - {python-version: "3.13", testenvs: "py313,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9-v7.3.15", testenvs: "pypy39,build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 9a45588..98de063 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13", testenvs: "py313,build", experimental: False} + - {python-version: "3.13", testenvs: "py313,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index bd09806..8d4166e 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -34,7 +34,7 @@ jobs: - {python-version: "3.10", testenvs: "py310,build", experimental: False} - {python-version: "3.11", testenvs: "py311,build", experimental: False} - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13", testenvs: "py313,build", experimental: False} + - {python-version: "3.13", testenvs: "py313,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} diff --git a/repo_helper.yml b/repo_helper.yml index 65fbfcd..81d7ff5 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -23,16 +23,17 @@ conda_channels: # Versions to run tests for python_versions: - - '3.7' - - '3.8' - - '3.9' - - "3.10" - - "3.11" - - "3.12" - - "3.13" - - pypy37 - - pypy38 - - pypy39 + 3.7: + 3.8: + 3.9: + "3.10": + 3.11: + 3.12: + 3.13: + experimental: true + pypy37: + pypy38: + pypy39: classifiers: - 'Development Status :: 4 - Beta' @@ -66,7 +67,7 @@ extras_require: tox_unmanaged: - testenv - - testenv:py313-dev + - testenv:py313 exclude_files: - contributing diff --git a/tox.ini b/tox.ini index 147ecd7..d183a75 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,6 @@ # * envlists # * testenv:.package # * testenv:py313-dev -# * testenv:py313 # * testenv:py312-dev # * testenv:py312 # * testenv:docs @@ -214,10 +213,12 @@ filterwarnings = error ignore:can't resolve package from __spec__ or __package__, falling back on __name__ and __path__:ImportWarning -[testenv:py313-dev] +[testenv:py313] +download = True setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 + UNSAFE_PYO3_SKIP_VERSION_CHECK=1 commands = python --version python -m pip uninstall jedi -y From 7aa9d63710557e71777ac12321c39878eee8f329 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Thu, 10 Apr 2025 15:00:13 +0100 Subject: [PATCH 41/46] Bump Ubuntu to 22.04 (#56) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/flake8.yml | 2 +- .github/workflows/mypy.yml | 2 +- .github/workflows/python_ci_linux.yml | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 0a8c0c3..af1b394 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -16,7 +16,7 @@ permissions: jobs: Run: name: "Flake8" - runs-on: "ubuntu-20.04" + runs-on: "ubuntu-22.04" steps: - name: Checkout 🛎️ diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 10c6f30..bd74787 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -20,7 +20,7 @@ jobs: strategy: matrix: - os: ['ubuntu-20.04', 'windows-2019'] + os: ['ubuntu-22.04', 'windows-2019'] fail-fast: false steps: diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 98de063..77e7cac 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -19,8 +19,8 @@ permissions: jobs: tests: - name: "ubuntu-20.04 / Python ${{ matrix.config.python-version }}" - runs-on: "ubuntu-20.04" + name: "ubuntu-22.04 / Python ${{ matrix.config.python-version }}" + runs-on: "ubuntu-22.04" continue-on-error: ${{ matrix.config.experimental }} env: USING_COVERAGE: '3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.7,pypy-3.8,pypy-3.9' @@ -84,7 +84,7 @@ jobs: Coverage: needs: tests - runs-on: "ubuntu-20.04" + runs-on: "ubuntu-22.04" steps: - name: Checkout 🛎️ uses: "actions/checkout@v4" @@ -133,7 +133,7 @@ jobs: Deploy: needs: tests - runs-on: "ubuntu-20.04" + runs-on: "ubuntu-22.04" steps: - name: Checkout 🛎️ uses: "actions/checkout@v4" From 089f9fb79274d549ade02a75b70b5e0bc4034227 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Thu, 17 Apr 2025 16:55:53 +0100 Subject: [PATCH 42/46] [repo-helper] Configuration Update (#57) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. --------- Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci_macos.yml | 24 ++++++++++++------------ .readthedocs.yml | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 8d4166e..9b92c80 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -18,8 +18,8 @@ permissions: jobs: tests: - name: "macos-13 / Python ${{ matrix.config.python-version }}" - runs-on: "macos-13" + name: "macos-${{ matrix.config.os-ver }} / Python ${{ matrix.config.python-version }}" + runs-on: "macos-${{ matrix.config.os-ver }}" continue-on-error: ${{ matrix.config.experimental }} env: USING_COVERAGE: '3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.7,pypy-3.8,pypy-3.9' @@ -28,16 +28,16 @@ jobs: fail-fast: False matrix: config: - - {python-version: "3.7", testenvs: "py37,build", experimental: False} - - {python-version: "3.8", testenvs: "py38,build", experimental: False} - - {python-version: "3.9", testenvs: "py39,build", experimental: False} - - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11", testenvs: "py311,build", experimental: False} - - {python-version: "3.12", testenvs: "py312,build", experimental: False} - - {python-version: "3.13", testenvs: "py313,build", experimental: True} - - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False} - - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False} - - {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True} + - {python-version: "3.7", os-ver: "13", testenvs: "py37,build", experimental: False} + - {python-version: "3.8", os-ver: "14", testenvs: "py38,build", experimental: False} + - {python-version: "3.9", os-ver: "14", testenvs: "py39,build", experimental: False} + - {python-version: "3.10", os-ver: "14", testenvs: "py310,build", experimental: False} + - {python-version: "3.11", os-ver: "14", testenvs: "py311,build", experimental: False} + - {python-version: "3.12", os-ver: "14", testenvs: "py312,build", experimental: False} + - {python-version: "3.13", os-ver: "14", testenvs: "py313,build", experimental: True} + - {python-version: "pypy-3.7", os-ver: "13", testenvs: "pypy37,build", experimental: False} + - {python-version: "pypy-3.8", os-ver: "14", testenvs: "pypy38,build", experimental: False} + - {python-version: "pypy-3.9", os-ver: "14", testenvs: "pypy39,build", experimental: True} steps: - name: Checkout 🛎️ diff --git a/.readthedocs.yml b/.readthedocs.yml index 94e6ea7..2dee4b5 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -13,7 +13,7 @@ python: - requirements: requirements.txt - requirements: doc-source/requirements.txt build: - os: ubuntu-20.04 + os: ubuntu-22.04 tools: python: '3.9' jobs: From 6ee9293f2d1451002024474dd0909beac281efad Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Thu, 8 May 2025 21:36:14 +0100 Subject: [PATCH 43/46] Updated files with 'repo_helper'. (#58) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 1 + .github/workflows/python_ci_linux.yml | 3 +++ .github/workflows/python_ci_macos.yml | 1 + .pre-commit-config.yaml | 2 +- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 696878d..b735fd2 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -78,3 +78,4 @@ jobs: with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage + include-hidden-files: true diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 77e7cac..01edd6b 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -80,6 +80,7 @@ jobs: with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage + include-hidden-files: true Coverage: @@ -122,6 +123,7 @@ jobs: with: name: "combined-coverage" path: .coverage + include-hidden-files: true - name: "Upload Combined Coverage to Coveralls" if: ${{ steps.show.outcome != 'failure' }} @@ -207,6 +209,7 @@ jobs: $CONDA/bin/conda config --set always_yes yes --set changeps1 no $CONDA/bin/conda update -n base conda $CONDA/bin/conda info -a + $CONDA/bin/conda install conda-forge::py-lief=0.14.1 $CONDA/bin/conda config --add channels conda-forge $CONDA/bin/conda config --add channels domdfcoding diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 9b92c80..280a25b 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -78,3 +78,4 @@ jobs: with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage + include-hidden-files: true diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ceab6ab..5e5cd22 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,7 +8,7 @@ ci: repos: - repo: https://github.com/repo-helper/pyproject-parser - rev: v0.11.1 + rev: v0.13.0 hooks: - id: reformat-pyproject From 3d5c16b79909543adf95a7769b04b18b29116a38 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 16:43:08 +0100 Subject: [PATCH 44/46] [repo-helper] Configuration Update (#59) * Updated files with 'repo_helper'. * Updated files with 'repo_helper'. --------- Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index d183a75..2b6ae95 100644 --- a/tox.ini +++ b/tox.ini @@ -109,7 +109,7 @@ deps = git+https://github.com/domdfcoding/flake8-rst-docstrings.git git+https://github.com/python-formate/flake8-unused-arguments.git@magic-methods git+https://github.com/python-formate/flake8-missing-annotations.git - pydocstyle>=6.0.0 + git+https://github.com/domdfcoding/pydocstyle.git@stub-functions pygments>=2.7.1 importlib_metadata<4.5.0; python_version<'3.8' commands = python3 -m flake8_rst_docstrings_sphinx flake8_encodings tests --allow-toolbox {posargs} From d5a74c4dce8fb65ea76390f52a2b991dff368038 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 9 Jun 2025 15:03:06 +0100 Subject: [PATCH 45/46] Bump mypy --- .github/workflows/flake8.yml | 2 +- .github/workflows/mypy.yml | 2 +- flake8_encodings/__init__.py | 6 +++--- pyproject.toml | 2 +- repo_helper.yml | 3 ++- tests/test_plugin.py | 2 +- tests/test_visitor.py | 2 +- tox.ini | 14 +++++++------- 8 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index af1b394..5e67c5c 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -35,7 +35,7 @@ jobs: if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v5" with: - python-version: "3.8" + python-version: "3.9" - name: Install dependencies 🔧 if: steps.changes.outputs.code == 'true' diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index bd74787..ea0b4e5 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -40,7 +40,7 @@ jobs: if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v5" with: - python-version: "3.8" + python-version: "3.9" - name: Install dependencies 🔧 run: | diff --git a/flake8_encodings/__init__.py b/flake8_encodings/__init__.py index f3a7817..76d0317 100644 --- a/flake8_encodings/__init__.py +++ b/flake8_encodings/__init__.py @@ -50,8 +50,8 @@ if TYPE_CHECKING: # 3rd party - from jedi import Script - from jedi.api.classes import Name # type: ignore[import] + from jedi import Script # type: ignore[import-untyped] + from jedi.api.classes import Name # type: ignore[import-untyped] __author__: str = "Dominic Davis-Foster" __copyright__: str = "2020-2021 Dominic Davis-Foster" @@ -197,7 +197,7 @@ class ClassVisitor(Visitor): # pragma: no cover (py313+) def __init__(self): try: # 3rd party - import jedi # type: ignore[import] + import jedi except ImportError as e: exc = e.__class__("This class requires 'jedi' to be installed but it could not be imported.") exc.__traceback__ = e.__traceback__ diff --git a/pyproject.toml b/pyproject.toml index eb385e5..4858e2d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -129,7 +129,7 @@ autodoc_exclude_members = [ ] [tool.mypy] -python_version = "3.8" +python_version = "3.9" namespace_packages = true check_untyped_defs = true warn_unused_ignores = true diff --git a/repo_helper.yml b/repo_helper.yml index 81d7ff5..cfba98e 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -13,7 +13,8 @@ short_desc: "A Flake8 plugin to identify incorrect use of encodings." min_coverage: 94 use_whey: true -python_deploy_version: 3.8 +mypy_version: 1.16 +python_deploy_version: 3.9 docs_fail_on_warning: true tox_testenv_extras: classes sphinx_html_theme: furo diff --git a/tests/test_plugin.py b/tests/test_plugin.py index b94da6d..e940c0f 100644 --- a/tests/test_plugin.py +++ b/tests/test_plugin.py @@ -12,7 +12,7 @@ try: # 3rd party - import jedi # type: ignore[import] # noqa: F401 + import jedi # type: ignore[import-untyped] # noqa: F401 has_jedi = True except ImportError: has_jedi = False diff --git a/tests/test_visitor.py b/tests/test_visitor.py index 85307cc..3d21116 100644 --- a/tests/test_visitor.py +++ b/tests/test_visitor.py @@ -12,7 +12,7 @@ try: # 3rd party - import jedi # type: ignore[import] # noqa: F401 + import jedi # type: ignore[import-untyped] # noqa: F401 has_jedi = True except ImportError: has_jedi = False diff --git a/tox.ini b/tox.ini index 2b6ae95..cab0e44 100644 --- a/tox.ini +++ b/tox.ini @@ -44,7 +44,7 @@ requires = [envlists] test = py37, py38, py39, py310, py311, py312, py313, pypy37, pypy38, pypy39 qa = mypy, lint -cov = py38, coverage +cov = py39, coverage [testenv:.package] setenv = @@ -85,7 +85,7 @@ commands = check-wheel-contents dist/ [testenv:lint] -basepython = python3.8 +basepython = python3.9 changedir = {toxinidir} ignore_errors = True skip_install = False @@ -115,7 +115,7 @@ deps = commands = python3 -m flake8_rst_docstrings_sphinx flake8_encodings tests --allow-toolbox {posargs} [testenv:perflint] -basepython = python3.8 +basepython = python3.9 changedir = {toxinidir} ignore_errors = True skip_install = True @@ -123,18 +123,18 @@ deps = perflint commands = python3 -m perflint flake8_encodings {posargs} [testenv:mypy] -basepython = python3.8 +basepython = python3.9 ignore_errors = True changedir = {toxinidir} extras = classes deps = - mypy==0.971 + mypy==1.16 -r{toxinidir}/tests/requirements.txt -r{toxinidir}/stubs.txt commands = mypy flake8_encodings tests {posargs} [testenv:pyup] -basepython = python3.8 +basepython = python3.9 skip_install = True ignore_errors = True changedir = {toxinidir} @@ -143,7 +143,7 @@ extras = classes commands = pyup_dirs flake8_encodings tests --py36-plus --recursive [testenv:coverage] -basepython = python3.8 +basepython = python3.9 skip_install = True ignore_errors = True whitelist_externals = /bin/bash From 0df5d098bf9e2bcff58fccb8cc38b0a696af58cf Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 9 Jun 2025 15:03:26 +0100 Subject: [PATCH 46/46] Bump Windows for GitHub Actions --- .github/workflows/mypy.yml | 2 +- .github/workflows/python_ci.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index ea0b4e5..4c22a52 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -20,7 +20,7 @@ jobs: strategy: matrix: - os: ['ubuntu-22.04', 'windows-2019'] + os: ['ubuntu-22.04', 'windows-2022'] fail-fast: false steps: diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index b735fd2..ca858d8 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -18,8 +18,8 @@ permissions: jobs: tests: - name: "windows-2019 / Python ${{ matrix.config.python-version }}" - runs-on: "windows-2019" + name: "windows-2022 / Python ${{ matrix.config.python-version }}" + runs-on: "windows-2022" continue-on-error: ${{ matrix.config.experimental }} env: USING_COVERAGE: '3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.7,pypy-3.8,pypy-3.9'