From 3be16c4df9ed4917ed8a918e6b1c55bcd939e9f9 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Thu, 28 Jan 2021 23:08:31 +0000 Subject: [PATCH 001/109] Updated files with 'repo_helper'. (#14) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .isort.cfg | 28 ---------------------- .pre-commit-config.yaml | 8 +++---- CONTRIBUTING.rst | 4 ++-- doc-source/contributing.rst | 4 ++-- formate.toml | 48 +++++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- tox.ini | 2 +- 7 files changed, 58 insertions(+), 38 deletions(-) delete mode 100644 .isort.cfg create mode 100644 formate.toml diff --git a/.isort.cfg b/.isort.cfg deleted file mode 100644 index 931fe9b..0000000 --- a/.isort.cfg +++ /dev/null @@ -1,28 +0,0 @@ -[settings] -line_length = 115 -force_to_top = True -indent = " " -multi_line_output = 8 -import_heading_stdlib = stdlib -import_heading_thirdparty = 3rd party -import_heading_firstparty = this package -import_heading_localfolder = this package -balanced_wrapping = False -lines_between_types = 0 -use_parentheses = True -remove_redundant_aliases = True -default_section = THIRDPARTY -known_third_party = - coincidence - coverage - coverage_pyver_pragma - domdf_python_tools - github - pytest - pytest_cov - pytest_randomly - pytest_timeout - requests - sphinx - sphinx_toolbox -known_first_party = sphinx_autofixture diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 491a054..052572e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -66,11 +66,11 @@ repos: - id: remove-crlf - id: forbid-crlf - - repo: https://github.com/domdfcoding/yapf-isort - rev: v0.5.5 + - repo: https://github.com/repo-helper/formate + rev: v0.2.0 hooks: - - id: yapf-isort - exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.py$ + - id: formate + exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.(_)?py$ - repo: https://github.com/domdfcoding/dep_checker rev: v0.4.1 diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index ccbd057..d7269b2 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -18,13 +18,13 @@ Install ``pre-commit`` with ``pip`` and install the git hook: Coding style -------------- -`yapf-isort `_ is used for code formatting. +`formate `_ is used for code formatting. It can be run manually via ``pre-commit``: .. code-block:: bash - $ pre-commit run yapf-isort -a + $ pre-commit run formate -a Or, to run the complete autoformatting suite: diff --git a/doc-source/contributing.rst b/doc-source/contributing.rst index 1d5dbcb..8bb205c 100644 --- a/doc-source/contributing.rst +++ b/doc-source/contributing.rst @@ -18,13 +18,13 @@ Install ``pre-commit`` with ``pip`` and install the git hook: Coding style -------------- -`yapf-isort `_ is used for code formatting. +`formate `_ is used for code formatting. It can be run manually via ``pre-commit``: .. prompt:: bash - pre-commit run yapf-isort -a + pre-commit run formate -a Or, to run the complete autoformatting suite: diff --git a/formate.toml b/formate.toml new file mode 100644 index 0000000..1a3d501 --- /dev/null +++ b/formate.toml @@ -0,0 +1,48 @@ +[hooks] +dynamic_quotes = 10 +collections-import-rewrite = 20 +reformat-generics = 40 +noqa-reformat = 60 +ellipsis-reformat = 70 + +[config] +indent = "\t" +line_length = 115 + +[hooks.yapf] +priority = 30 + +[hooks.isort] +priority = 50 + +[hooks.yapf.kwargs] +yapf_style = ".style.yapf" + +[hooks.isort.kwargs] +line_length = 115 +indent = "\"\t\t\"" +multi_line_output = 8 +import_heading_stdlib = "stdlib" +import_heading_thirdparty = "3rd party" +import_heading_firstparty = "this package" +import_heading_localfolder = "this package" +balanced_wrapping = false +lines_between_types = 0 +use_parentheses = true +remove_redundant_aliases = true +default_section = "THIRDPARTY" +known_third_party = [ + "coincidence", + "coverage", + "coverage_pyver_pragma", + "domdf_python_tools", + "github", + "pytest", + "pytest_cov", + "pytest_randomly", + "pytest_timeout", + "requests", + "sphinx", + "sphinx_toolbox", +] +known_first_party = "sphinx_autofixture" diff --git a/pyproject.toml b/pyproject.toml index c6e758f..fba467d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,3 @@ [build-system] -requires = ["setuptools>=40.6.0", "wheel>=0.34.2"] +requires = [ "setuptools>=40.6.0", "wheel>=0.34.2",] build-backend = "setuptools.build_meta" diff --git a/tox.ini b/tox.ini index 5207730..2a0775c 100644 --- a/tox.ini +++ b/tox.ini @@ -146,6 +146,7 @@ count = True plugins = coverage_pyver_pragma [coverage:report] +fail_under = 80 exclude_lines = raise AssertionError raise NotImplementedError @@ -154,7 +155,6 @@ exclude_lines = if TYPE_CHECKING: if typing.TYPE_CHECKING: if __name__ == .__main__.: - :[\n\s]*\.\.\. [check-wheel-contents] ignore = W002 From 743ae68b315471a77d5d435f2b5efb83ffa1f2fb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 1 Feb 2021 21:32:15 +0000 Subject: [PATCH 002/109] [pre-commit.ci] pre-commit autoupdate (#15) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 052572e..8f267b6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,7 +25,7 @@ repos: - id: end-of-file-fixer - repo: https://github.com/domdfcoding/pre-commit-hooks - rev: v0.1.6 + rev: v0.2.0 hooks: - id: requirements-txt-sorter args: @@ -54,7 +54,7 @@ repos: - id: rst-inline-touching-normal - repo: https://github.com/asottile/pyupgrade - rev: v2.7.4 + rev: v2.9.0 hooks: - id: pyupgrade args: @@ -67,7 +67,7 @@ repos: - id: forbid-crlf - repo: https://github.com/repo-helper/formate - rev: v0.2.0 + rev: v0.2.5 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.(_)?py$ From 4f7eeb79604cdfba8f47e86037e15930a92dde9c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 8 Feb 2021 20:13:09 +0000 Subject: [PATCH 003/109] [pre-commit.ci] pre-commit autoupdate (#17) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8f267b6..6f647b9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -46,7 +46,7 @@ repos: - id: flake2lint - repo: https://github.com/pre-commit/pygrep-hooks - rev: v1.7.0 + rev: v1.7.1 hooks: - id: python-no-eval - id: rst-backticks @@ -54,7 +54,7 @@ repos: - id: rst-inline-touching-normal - repo: https://github.com/asottile/pyupgrade - rev: v2.9.0 + rev: v2.10.0 hooks: - id: pyupgrade args: @@ -67,7 +67,7 @@ repos: - id: forbid-crlf - repo: https://github.com/repo-helper/formate - rev: v0.2.5 + rev: v0.3.1 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.(_)?py$ From 347dbf49afd85a71df064901a32fb903a4602cf2 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 15 Feb 2021 08:57:11 +0000 Subject: [PATCH 004/109] Updated files with 'repo_helper'. (#19) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/python_ci.yml | 7 +++++++ .github/workflows/python_ci_linux.yml | 2 +- .github/workflows/python_ci_macos.yml | 7 +++++++ .pre-commit-config.yaml | 1 + formate.toml | 5 +++-- tox.ini | 15 ++++++++------- 6 files changed, 27 insertions(+), 10 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 6359e55..944c591 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -42,3 +42,10 @@ jobs: - name: "Run Tests for Python ${{ matrix.config.python-version }}" run: python -m tox -e "${{ matrix.config.testenvs }}" + + - name: "Upload Coverage πŸš€" + uses: actions/upload-artifact@v2 + if: ${{ always() }} + with: + name: "coverage-${{ matrix.config.python-version }}" + path: .coverage diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index c2bcb9d..3eca75e 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -44,9 +44,9 @@ jobs: - name: "Run Tests for Python ${{ matrix.config.python-version }}" run: python -m tox -e "${{ matrix.config.testenvs }}" - - name: "Upload Coverage πŸš€" uses: actions/upload-artifact@v2 + if: ${{ always() }} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index b015e4e..063288c 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -42,3 +42,10 @@ jobs: - name: "Run Tests for Python ${{ matrix.config.python-version }}" run: python -m tox -e "${{ matrix.config.testenvs }}" + + - name: "Upload Coverage πŸš€" + uses: actions/upload-artifact@v2 + if: ${{ always() }} + with: + name: "coverage-${{ matrix.config.python-version }}" + path: .coverage diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6f647b9..270bde7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -59,6 +59,7 @@ repos: - id: pyupgrade args: - --py36-plus + - --keep-runtime-typing - repo: https://github.com/Lucas-C/pre-commit-hooks rev: v1.1.9 diff --git a/formate.toml b/formate.toml index 1a3d501..11a7da5 100644 --- a/formate.toml +++ b/formate.toml @@ -4,6 +4,7 @@ collections-import-rewrite = 20 reformat-generics = 40 noqa-reformat = 60 ellipsis-reformat = 70 +squish_stubs = 80 [config] indent = "\t" @@ -19,8 +20,7 @@ priority = 50 yapf_style = ".style.yapf" [hooks.isort.kwargs] -line_length = 115 -indent = "\"\t\t\"" +indent = "\t\t" multi_line_output = 8 import_heading_stdlib = "stdlib" import_heading_thirdparty = "3rd party" @@ -46,3 +46,4 @@ known_third_party = [ "sphinx_toolbox", ] known_first_party = "sphinx_autofixture" +line_length = 115 diff --git a/tox.ini b/tox.ini index 2a0775c..502b7f8 100644 --- a/tox.ini +++ b/tox.ini @@ -24,10 +24,11 @@ envlist = mypy build skip_missing_interpreters = True +isolated_build = True requires = pip>=20.3.3 tox-envlist>=0.1.0 -isolated_build = True + tox-pip-version==0.0.7 [envlists] test = @@ -51,10 +52,9 @@ commands = [testenv:docs] setenv = SHOW_TODOS = 1 basepython = python3.8 +pip_version = pip>=21 changedir = {toxinidir}/doc-source -deps = - -r{toxinidir}/requirements.txt - -r{toxinidir}/doc-source/requirements.txt +deps = -r{toxinidir}/doc-source/requirements.txt commands = sphinx-build -M html . ./build {posargs} [testenv:build] @@ -86,6 +86,7 @@ deps = flake8-sphinx-links>=0.0.4 flake8-strftime>=0.1.1 flake8-typing-imports>=1.10.0 + flake8-encodings>=0.1.0 git+https://github.com/PyCQA/pydocstyle@5118faa7173b0e5bbc230c4adf628758e13605bf git+https://github.com/domdfcoding/flake8-quotes.git git+https://github.com/domdfcoding/flake8-rst-docstrings.git @@ -98,7 +99,7 @@ basepython = python3.6 ignore_errors = True changedir = {toxinidir} deps = - mypy==0.790 + mypy==0.800 -r{toxinidir}/tests/requirements.txt -r{toxinidir}/stubs.txt commands = mypy sphinx_autofixture tests {posargs} @@ -127,7 +128,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 E301 E303 E304 E305 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 PT005 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 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 E302 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 +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 PT005 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 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 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 exclude = doc-source,.git,__pycache__,old,build,dist,__pkginfo__.py,setup.py,.tox,venv rst-directives = TODO @@ -135,7 +136,7 @@ rst-directives = extras-require per-file-ignores = tests/*: 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 - */*.pyi: E302 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 + */*.pyi: 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 pytest-parametrize-names-type = csv inline-quotes = " multiline-quotes = """ From c8de94b1e7ab64890d26443624c223fa5d860266 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 1 Mar 2021 12:07:26 +0000 Subject: [PATCH 005/109] [pre-commit.ci] pre-commit autoupdate (#20) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 270bde7..f4d4d0e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -41,7 +41,7 @@ repos: files: ^sphinx_autofixture/.*\.py$ - repo: https://github.com/domdfcoding/flake2lint - rev: v0.2.0 + rev: v0.3.0 hooks: - id: flake2lint @@ -68,7 +68,7 @@ repos: - id: forbid-crlf - repo: https://github.com/repo-helper/formate - rev: v0.3.1 + rev: v0.4.2 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.(_)?py$ From 6b194ee069f2e04eb6d10927200578f13aac2809 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 5 Mar 2021 07:33:49 +0000 Subject: [PATCH 006/109] [pre-commit.ci] pre-commit autoupdate (#21) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f4d4d0e..dc40071 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -46,7 +46,7 @@ repos: - id: flake2lint - repo: https://github.com/pre-commit/pygrep-hooks - rev: v1.7.1 + rev: v1.8.0 hooks: - id: python-no-eval - id: rst-backticks From 453f61f92eb928b9ab975570535cb4a116165250 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 8 Mar 2021 18:56:10 +0000 Subject: [PATCH 007/109] [repo-helper] Configuration Update (#23) * Updated files with 'repo_helper'. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .bumpversion.cfg | 2 ++ .pre-commit-config.yaml | 6 +++--- .pylintrc | 2 +- __pkginfo__.py | 1 - pyproject.toml | 20 ++++++++++++++++++++ setup.py | 3 +++ tests/myproject.py | 2 +- tests/requirements.txt | 2 +- tox.ini | 22 ++++++++++++---------- 9 files changed, 43 insertions(+), 17 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 5cf7922..dfbef98 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -12,3 +12,5 @@ tag = True [bumpversion:file:doc-source/index.rst] [bumpversion:file:sphinx_autofixture/__init__.py] + +[bumpversion:file:pyproject.toml] diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index dc40071..1eb0915 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,7 +25,7 @@ repos: - id: end-of-file-fixer - repo: https://github.com/domdfcoding/pre-commit-hooks - rev: v0.2.0 + rev: v0.2.1 hooks: - id: requirements-txt-sorter args: @@ -41,7 +41,7 @@ repos: files: ^sphinx_autofixture/.*\.py$ - repo: https://github.com/domdfcoding/flake2lint - rev: v0.3.0 + rev: v0.4.0 hooks: - id: flake2lint @@ -74,7 +74,7 @@ repos: exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.(_)?py$ - repo: https://github.com/domdfcoding/dep_checker - rev: v0.4.1 + rev: v0.5.0 hooks: - id: dep_checker args: diff --git a/.pylintrc b/.pylintrc index 12063c9..a21206a 100644 --- a/.pylintrc +++ b/.pylintrc @@ -66,7 +66,7 @@ confidence= # no Warning level messages displayed, use"--disable=all --enable=classes # --disable=W" disable=all -enable=assert-on-tuple,astroid-error,bad-except-order,bad-inline-option,bad-option-value,bad-reversed-sequence,bare-except,binary-op-exception,boolean-datetime,catching-non-exception,cell-var-from-loop,confusing-with-statement,consider-merging-isinstance,consider-using-enumerate,consider-using-ternary,continue-in-finally,cyclic-import,deprecated-pragma,django-not-available,duplicate-except,duplicate-key,eval-used,exec-used,expression-not-assigned,fatal,file-ignored,fixme,global-at-module-level,global-statement,global-variable-not-assigned,global-variable-undefined,http-response-with-content-type-json,http-response-with-json-dumps,invalid-all-object,invalid-characters-in-docstring,len-as-condition,literal-comparison,locally-disabled,locally-enabled,lost-exception,lowercase-l-suffix,misplaced-bare-raise,missing-kwoa,mixed-line-endings,model-has-unicode,model-missing-unicode,model-no-explicit-unicode,model-unicode-not-callable,multiple-imports,multiple-statements,new-db-field-with-default,non-ascii-bytes-literals,nonexistent-operator,not-in-loop,notimplemented-raised,overlapping-except,parse-error,pointless-statement,pointless-string-statement,raising-bad-type,raising-non-exception,raw-checker-failed,redefine-in-handler,redefined-argument-from-local,redefined-builtin,redundant-content-type-for-json-response,reimported,relative-import,return-outside-function,simplifiable-if-statement,singleton-comparison,syntax-error,trailing-comma-tuple,trailing-newlines,unbalanced-tuple-unpacking,undefined-all-variable,undefined-loop-variable,unexpected-line-ending-format,unidiomatic-typecheck,unnecessary-lambda,unnecessary-pass,unnecessary-semicolon,unneeded-not,unpacking-non-sequence,unreachable,unrecognized-inline-option,used-before-assignment,useless-else-on-loop,using-constant-test,wildcard-import,yield-outside-function,useless-return +enable=assert-on-tuple,astroid-error,bad-except-order,bad-inline-option,bad-option-value,bad-reversed-sequence,bare-except,binary-op-exception,boolean-datetime,catching-non-exception,cell-var-from-loop,confusing-with-statement,consider-merging-isinstance,consider-using-enumerate,consider-using-ternary,continue-in-finally,cyclic-import,deprecated-pragma,django-not-available,duplicate-except,duplicate-key,eval-used,exec-used,expression-not-assigned,fatal,file-ignored,fixme,global-at-module-level,global-statement,global-variable-not-assigned,global-variable-undefined,http-response-with-content-type-json,http-response-with-json-dumps,invalid-all-object,invalid-characters-in-docstring,len-as-condition,literal-comparison,locally-disabled,locally-enabled,lost-exception,lowercase-l-suffix,misplaced-bare-raise,missing-kwoa,mixed-line-endings,model-has-unicode,model-missing-unicode,model-no-explicit-unicode,model-unicode-not-callable,multiple-imports,new-db-field-with-default,non-ascii-bytes-literals,nonexistent-operator,not-in-loop,notimplemented-raised,overlapping-except,parse-error,pointless-statement,pointless-string-statement,raising-bad-type,raising-non-exception,raw-checker-failed,redefine-in-handler,redefined-argument-from-local,redefined-builtin,redundant-content-type-for-json-response,reimported,relative-import,return-outside-function,simplifiable-if-statement,singleton-comparison,syntax-error,trailing-comma-tuple,trailing-newlines,unbalanced-tuple-unpacking,undefined-all-variable,undefined-loop-variable,unexpected-line-ending-format,unidiomatic-typecheck,unnecessary-lambda,unnecessary-pass,unnecessary-semicolon,unneeded-not,unpacking-non-sequence,unreachable,unrecognized-inline-option,used-before-assignment,useless-else-on-loop,using-constant-test,wildcard-import,yield-outside-function,useless-return [REPORTS] diff --git a/__pkginfo__.py b/__pkginfo__.py index 473f4a3..40c687f 100644 --- a/__pkginfo__.py +++ b/__pkginfo__.py @@ -27,7 +27,6 @@ """ __version__ = "0.2.3" - repo_root = pathlib.Path(__file__).parent install_requires = (repo_root / "requirements.txt").read_text(encoding="utf-8").split('\n') extras_require = {"all": []} diff --git a/pyproject.toml b/pyproject.toml index fba467d..2784343 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,23 @@ [build-system] requires = [ "setuptools>=40.6.0", "wheel>=0.34.2",] build-backend = "setuptools.build_meta" + +[project] +name = "sphinx-autofixture" +version = "0.2.3" +description = "Sphinx autodocumenter for pytest fixtures." +readme = "README.rst" +keywords = [ "sphinx", "documentation", "sphinx-extension", "pytest",] +dynamic = [ "requires-python", "classifiers", "dependencies",] +[[project.authors]] +email = "dominic@davis-foster.co.uk" +name = "Dominic Davis-Foster" + +[project.license] +file = "LICENSE" + +[project.urls] +Homepage = "https://github.com/sphinx-toolbox/sphinx-autofixture" +"Issue Tracker" = "https://github.com/sphinx-toolbox/sphinx-autofixture/issues" +"Source Code" = "https://github.com/sphinx-toolbox/sphinx-autofixture" +Documentation = "https://sphinx-autofixture.readthedocs.io/en/latest" diff --git a/setup.py b/setup.py index bc80794..dbbc092 100644 --- a/setup.py +++ b/setup.py @@ -2,6 +2,7 @@ # This file is managed by 'repo_helper'. Don't edit it directly. # stdlib +import shutil import sys # 3rd party @@ -19,3 +20,5 @@ py_modules=[], version=__version__, ) + +shutil.rmtree("sphinx_autofixture.egg-info", ignore_errors=True) diff --git a/tests/myproject.py b/tests/myproject.py index 68c53b7..6125304 100644 --- a/tests/myproject.py +++ b/tests/myproject.py @@ -34,7 +34,7 @@ def bar(): def create_fizbuzz(): # Based on the dataclass module from CPython - locals = {"BUILTINS": builtins} # noqa: A001 + locals = {"BUILTINS": builtins} # noqa: A001 # pylint: disable=redefined-builtin local_vars = ", ".join(locals.keys()) txt = f" def fizbuzz(): pass" diff --git a/tests/requirements.txt b/tests/requirements.txt index 6ec9ae6..ee70c30 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,6 +1,6 @@ coincidence>=0.1.0 coverage>=5.1 -coverage-pyver-pragma>=0.0.6 +coverage-pyver-pragma>=0.2.1 domdf-python-tools[testing]>=2.0.1 iniconfig!=1.1.0,>=1.0.1 pytest>=6.0.0 diff --git a/tox.ini b/tox.ini index 502b7f8..2af08d1 100644 --- a/tox.ini +++ b/tox.ini @@ -27,8 +27,8 @@ skip_missing_interpreters = True isolated_build = True requires = pip>=20.3.3 - tox-envlist>=0.1.0 - tox-pip-version==0.0.7 + tox-envlist>=0.2.1 + tox-pip-version>=0.0.7 [envlists] test = @@ -61,11 +61,12 @@ commands = sphinx-build -M html . ./build {posargs} skip_install = True changedir = {toxinidir} deps = - twine>=3.2.0 - pep517>=0.9.1 + virtualenv + git+https://github.com/pypa/build check-wheel-contents>=0.1.0 + twine>=3.2.0 commands = - python -m pep517.build --source --binary "{toxinidir}" + python -m build --sdist --wheel "{toxinidir}" twine check dist/*.tar.gz dist/*.whl check-wheel-contents dist/ @@ -87,6 +88,7 @@ deps = flake8-strftime>=0.1.1 flake8-typing-imports>=1.10.0 flake8-encodings>=0.1.0 + flake8-slots>=0.1.0 git+https://github.com/PyCQA/pydocstyle@5118faa7173b0e5bbc230c4adf628758e13605bf git+https://github.com/domdfcoding/flake8-quotes.git git+https://github.com/domdfcoding/flake8-rst-docstrings.git @@ -120,7 +122,7 @@ whitelist_externals = /bin/bash changedir = {toxinidir} deps = coverage>=5 - coverage_pyver_pragma>=0.0.6 + coverage_pyver_pragma>=0.2.1 commands = /bin/bash -c "rm -rf htmlcov" coverage html @@ -128,15 +130,15 @@ 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 PT005 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 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 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 -exclude = doc-source,.git,__pycache__,old,build,dist,__pkginfo__.py,setup.py,.tox,venv +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 PT005 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 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 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 envvar extras-require per-file-ignores = - tests/*: 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 - */*.pyi: 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 + tests/*: 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 + */*.pyi: 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 pytest-parametrize-names-type = csv inline-quotes = " multiline-quotes = """ From 02ece4acf452152b69c2018d14105339634636b3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 8 Mar 2021 23:12:50 +0000 Subject: [PATCH 008/109] [pre-commit.ci] pre-commit autoupdate (#22) * [pre-commit.ci] pre-commit autoupdate * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> From 26cd2a30f8e68cd67d7aa8f431f72e13439715ed Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 10 Mar 2021 09:42:33 +0000 Subject: [PATCH 009/109] Test on PyPy and fix tests on Python 3.10 alpha 6 --- .github/workflows/python_ci.yml | 5 +- .github/workflows/python_ci_linux.yml | 5 +- .github/workflows/python_ci_macos.yml | 5 +- repo_helper.yml | 4 +- setup.cfg | 2 + tests/test_directive.py | 58 ++- .../test_output_310_index_html_.html | 442 ++++++++++++++++++ .../test_output_36_pypy_index_html_.html | 247 ++++++++++ .../test_output_37_pypy_index_html_.html | 418 +++++++++++++++++ ..._.html => test_output_38_index_html_.html} | 0 tox.ini | 6 + 11 files changed, 1173 insertions(+), 19 deletions(-) create mode 100644 tests/test_directive_/test_output_310_index_html_.html create mode 100644 tests/test_directive_/test_output_36_pypy_index_html_.html create mode 100644 tests/test_directive_/test_output_37_pypy_index_html_.html rename tests/test_directive_/{test_output_index_html_.html => test_output_38_index_html_.html} (100%) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 944c591..4eb701e 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -13,7 +13,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.5,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -23,6 +23,9 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} + - {python-version: "3.10.0-alpha.5", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: False} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 3eca75e..157dca6 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -13,7 +13,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.5,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -23,6 +23,9 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} + - {python-version: "3.10.0-alpha.5", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: False} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 063288c..a74cd9e 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -13,7 +13,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.5,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -23,6 +23,9 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} + - {python-version: "3.10.0-alpha.5", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: False} steps: - name: Checkout πŸ›ŽοΈ diff --git a/repo_helper.yml b/repo_helper.yml index 75336f4..8d4e1d4 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -16,6 +16,9 @@ python_versions: - 3.7 - 3.8 - 3.9 + - 3.10-dev + - pypy36 + - pypy37 sphinx_html_theme: furo standalone_contrib_guide: true @@ -26,7 +29,6 @@ conda_channels: extra_sphinx_extensions: - sphinx_autofixture - third_party_version_matrix: sphinx: - 3.2 diff --git a/setup.cfg b/setup.cfg index c6d75d0..9e209d2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -33,6 +33,7 @@ classifiers = Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: Implementation :: CPython + Programming Language :: Python :: Implementation :: PyPy Topic :: Documentation Topic :: Documentation :: Sphinx Topic :: Software Development :: Documentation @@ -55,3 +56,4 @@ python_version = 3.6 namespace_packages = True check_untyped_defs = True warn_unused_ignores = True +incremental = False diff --git a/tests/test_directive.py b/tests/test_directive.py index 5ac3c27..f01558d 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -6,7 +6,7 @@ import pytest from bs4 import BeautifulSoup # type: ignore from domdf_python_tools.paths import PathPlus -from domdf_python_tools.testing import min_version, only_version +from domdf_python_tools.testing import max_version, min_version, not_pypy, only_pypy, only_version from pytest_regressions.file_regression import FileRegressionFixture from sphinx.testing.path import path from sphinx_toolbox.testing import check_html_regression @@ -41,19 +41,47 @@ def original_datadir(request) -> Path: return PathPlus(os.path.splitext(request.module.__file__)[0] + '_') -@only_version("3.6", reason="Output differs on 3.6") @pytest.mark.parametrize("page", ["index.html"], indirect=True) -def test_output_36(page: BeautifulSoup, file_regression: FileRegressionFixture): - check_html_regression(page, file_regression) - - -@only_version("3.7", reason="Output differs on 3.7") -@pytest.mark.parametrize("page", ["index.html"], indirect=True) -def test_output_37(page: BeautifulSoup, file_regression: FileRegressionFixture): - check_html_regression(page, file_regression) - - -@min_version("3.8", reason="Output differs on 3.6-3.7") -@pytest.mark.parametrize("page", ["index.html"], indirect=True) -def test_output(page: BeautifulSoup, file_regression: FileRegressionFixture): +@pytest.mark.parametrize( + "version", + [ + pytest.param( + "36", + marks=[ + only_version("3.6", reason="Output differs on 3.6"), + not_pypy("Output differs on PyPy") + ] + ), + pytest.param( + "37", + marks=[ + only_version("3.7", reason="Output differs on 3.7"), + not_pypy("Output differs on PyPy") + ] + ), + pytest.param( + "36-pypy", + marks=[ + only_version("3.6", reason="Output differs on 3.6"), + only_pypy("Output differs on PyPy") + ] + ), + pytest.param( + "37-pypy", + marks=[ + only_version("3.7", reason="Output differs on 3.7"), + only_pypy("Output differs on PyPy") + ] + ), + pytest.param( + "38", + marks=[ + min_version("3.8", reason="Output differs on 3.6-3.7"), + max_version("3.9.99", reason="Output differs on 3.10") + ] + ), + pytest.param("310", marks=only_version("3.10", reason="Output differs on 3.10")), + ] + ) +def test_output(page: BeautifulSoup, file_regression: FileRegressionFixture, version): check_html_regression(page, file_regression) diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html new file mode 100644 index 0000000..37489bc --- /dev/null +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -0,0 +1,442 @@ + + + + + + + sphinx-autofixture Demo β€” Python documentation + + + + + + + + +
+
+
+
+
+

+ sphinx-autofixture Demo + + ΒΆ + +

+
+
+ + fixture + + + domdf_python_tools.testing. + + + tmp_pathplus + + + ΒΆ + +
+
+

+ + Scope: + + function +

+

+ Pytest fixture that returns a temporary directory in the form of a + + + PathPlus + + + object. +

+

+ The directory is unique to each test function invocation, +created as a sub directory of the base temporary directory. +

+

+ Use it as follows: +

+
+
+
pytest_plugins = ("domdf_python_tools.testing", )
+
+def test_something(tmp_pathplus: PathPlus):
+        assert True
+
+
+
+
+

+ + New in version 0.10.0. + +

+
+
+
+

+ + + + domdf_python_tools.testing.tmp_pathplus + + + +

+
+
+ + fixture + + + domdf_python_tools.testing. + + + tmp_pathplus + +
+
+

+ + Scope: + + function +

+

+ Pytest fixture that returns a temporary directory in the form of a + + + PathPlus + + + object. +

+

+ The directory is unique to each test function invocation, +created as a sub directory of the base temporary directory. +

+

+ Use it as follows: +

+
+
+
pytest_plugins = ("domdf_python_tools.testing", )
+
+def test_something(tmp_pathplus: PathPlus):
+        assert True
+
+
+
+
+

+ + New in version 0.10.0. + +

+
+
+
+ + +
+
+ + class + + + tests.myproject. + + + A + + + ΒΆ + +
+
+

+ My Dataclass +

+
+
+ + __dataclass_fields__ + + + = {} + + + ΒΆ + +
+
+
+
+
+
+ + __dataclass_params__ + + + = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + + + ΒΆ + +
+
+
+
+
+
+ + __dict__ + + + = mappingproxy({'__module__': 'tests.myproject', '__doc__': '\n\t\tMy Dataclass\n\t\t', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {}, '__init__': <function A.__init__>, '__repr__': <function A.__repr__>, '__eq__': <function A.__eq__>, '__hash__': None, '__match_args__': ()}) + + + ΒΆ + +
+
+
+
+
+
+ + __eq__ + + + ( + + + + other + + + + ) + + + ΒΆ + +
+
+

+ Return self==value. +

+
+
+
+
+ + __hash__ + + + = None + + + ΒΆ + +
+
+
+
+
+
+ + __init__ + + + ( + + + ) + + β†’ None + + ΒΆ + +
+
+

+ Initialize self. See help(type(self)) for accurate signature. +

+
+
+
+
+ + __match_args__ + + + = () + + + ΒΆ + +
+
+
+
+
+
+ + __module__ + + + = 'tests.myproject' + + + ΒΆ + +
+
+
+
+
+
+ + __repr__ + + + ( + + + ) + + + ΒΆ + +
+
+

+ Return repr(self). +

+
+
+
+
+ + __weakref__ + + + ΒΆ + +
+
+

+ list of weak references to the object (if defined) +

+
+
+
+
+
+
+ + tests.myproject. + + + baz + + + ( + + + ) + + + ΒΆ + +
+
+

+ A locally defined function. +

+
+
+
+
+ + tests.myproject. + + + fizbuzz + + + ( + + + ) + + + ΒΆ + +
+
+

+ A locally defined function. +

+
+
+
+
+
+
+ +
+
+
+ + diff --git a/tests/test_directive_/test_output_36_pypy_index_html_.html b/tests/test_directive_/test_output_36_pypy_index_html_.html new file mode 100644 index 0000000..ae1f01f --- /dev/null +++ b/tests/test_directive_/test_output_36_pypy_index_html_.html @@ -0,0 +1,247 @@ + + + + + + + sphinx-autofixture Demo β€” Python documentation + + + + + + + + +
+
+
+
+
+

+ sphinx-autofixture Demo + + ΒΆ + +

+
+
+ + fixture + + + domdf_python_tools.testing. + + + tmp_pathplus + + + ΒΆ + +
+
+

+ + Scope: + + function +

+

+ Pytest fixture that returns a temporary directory in the form of a + + + PathPlus + + + object. +

+

+ The directory is unique to each test function invocation, +created as a sub directory of the base temporary directory. +

+

+ Use it as follows: +

+
+
+
pytest_plugins = ("domdf_python_tools.testing", )
+
+def test_something(tmp_pathplus: PathPlus):
+        assert True
+
+
+
+
+

+ + New in version 0.10.0. + +

+
+
+
+

+ + + + domdf_python_tools.testing.tmp_pathplus + + + +

+
+
+ + fixture + + + domdf_python_tools.testing. + + + tmp_pathplus + +
+
+

+ + Scope: + + function +

+

+ Pytest fixture that returns a temporary directory in the form of a + + + PathPlus + + + object. +

+

+ The directory is unique to each test function invocation, +created as a sub directory of the base temporary directory. +

+

+ Use it as follows: +

+
+
+
pytest_plugins = ("domdf_python_tools.testing", )
+
+def test_something(tmp_pathplus: PathPlus):
+        assert True
+
+
+
+
+

+ + New in version 0.10.0. + +

+
+
+
+ + +
+
+ + tests.myproject. + + + baz + + + ( + + + ) + + + ΒΆ + +
+
+

+ A locally defined function. +

+
+
+
+
+ + tests.myproject. + + + fizbuzz + + + ( + + + ) + + + ΒΆ + +
+
+

+ A locally defined function. +

+
+
+
+
+
+
+ +
+
+
+ + diff --git a/tests/test_directive_/test_output_37_pypy_index_html_.html b/tests/test_directive_/test_output_37_pypy_index_html_.html new file mode 100644 index 0000000..0682df1 --- /dev/null +++ b/tests/test_directive_/test_output_37_pypy_index_html_.html @@ -0,0 +1,418 @@ + + + + + + + sphinx-autofixture Demo β€” Python documentation + + + + + + + + +
+
+
+
+
+

+ sphinx-autofixture Demo + + ΒΆ + +

+
+
+ + fixture + + + domdf_python_tools.testing. + + + tmp_pathplus + + + ΒΆ + +
+
+

+ + Scope: + + function +

+

+ Pytest fixture that returns a temporary directory in the form of a + + + PathPlus + + + object. +

+

+ The directory is unique to each test function invocation, +created as a sub directory of the base temporary directory. +

+

+ Use it as follows: +

+
+
+
pytest_plugins = ("domdf_python_tools.testing", )
+
+def test_something(tmp_pathplus: PathPlus):
+        assert True
+
+
+
+
+

+ + New in version 0.10.0. + +

+
+
+
+

+ + + + domdf_python_tools.testing.tmp_pathplus + + + +

+
+
+ + fixture + + + domdf_python_tools.testing. + + + tmp_pathplus + +
+
+

+ + Scope: + + function +

+

+ Pytest fixture that returns a temporary directory in the form of a + + + PathPlus + + + object. +

+

+ The directory is unique to each test function invocation, +created as a sub directory of the base temporary directory. +

+

+ Use it as follows: +

+
+
+
pytest_plugins = ("domdf_python_tools.testing", )
+
+def test_something(tmp_pathplus: PathPlus):
+        assert True
+
+
+
+
+

+ + New in version 0.10.0. + +

+
+
+
+ + +
+
+ + class + + + tests.myproject. + + + A + + + ΒΆ + +
+
+

+ My Dataclass +

+
+
+ + __dataclass_fields__ + + + = {} + + + ΒΆ + +
+
+
+
+
+
+ + __dataclass_params__ + + + = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + + + ΒΆ + +
+
+
+
+
+
+ + __dict__ + + + = mappingproxy({'__module__': 'tests.myproject', '__doc__': '\n\t\tMy Dataclass\n\t\t', '__dict__': <getset_descriptor object>, '__weakref__': <getset_descriptor object>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {}, '__init__': <function __create_fn__.<locals>.__init__>, '__repr__': <function __create_fn__.<locals>.__repr__>, '__eq__': <function __create_fn__.<locals>.__eq__>, '__hash__': None}) + + + ΒΆ + +
+
+
+
+
+
+ + __eq__ + + + ( + + + + other + + + + ) + + + ΒΆ + +
+
+
+
+
+
+ + __hash__ + + + = None + + + ΒΆ + +
+
+
+
+
+
+ + __init__ + + + ( + + + ) + + β†’ None + + ΒΆ + +
+
+
+
+
+
+ + __module__ + + + = 'tests.myproject' + + + ΒΆ + +
+
+
+
+
+
+ + __repr__ + + + ( + + + ) + + + ΒΆ + +
+
+
+
+
+
+ + __weakref__ + + + = None + + + ΒΆ + +
+
+
+
+
+
+
+
+ + tests.myproject. + + + baz + + + ( + + + ) + + + ΒΆ + +
+
+

+ A locally defined function. +

+
+
+
+
+ + tests.myproject. + + + fizbuzz + + + ( + + + ) + + + ΒΆ + +
+
+

+ A locally defined function. +

+
+
+
+
+
+
+ +
+
+
+ + diff --git a/tests/test_directive_/test_output_index_html_.html b/tests/test_directive_/test_output_38_index_html_.html similarity index 100% rename from tests/test_directive_/test_output_index_html_.html rename to tests/test_directive_/test_output_38_index_html_.html diff --git a/tox.ini b/tox.ini index 2af08d1..4810dc4 100644 --- a/tox.ini +++ b/tox.ini @@ -21,6 +21,9 @@ envlist = py37-sphinx{3.2,3.3} py38-sphinx{3.2,3.3} py39-sphinx{3.2,3.3} + py310-dev-sphinx{3.2,3.3} + pypy36-sphinx{3.2,3.3} + pypy37-sphinx{3.2,3.3} mypy build skip_missing_interpreters = True @@ -36,6 +39,9 @@ test = py37-sphinx{3.2,3.3} py38-sphinx{3.2,3.3} py39-sphinx{3.2,3.3} + py310-dev-sphinx{3.2,3.3} + pypy36-sphinx{3.2,3.3} + pypy37-sphinx{3.2,3.3} qa = mypy, lint cov = py36-sphinx3.2, coverage From 2f6c61cc6b3033f55ce41ab8a5d0e1ce27a366ff Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 10 Mar 2021 12:51:06 +0000 Subject: [PATCH 010/109] Use "whey" as the build backend. --- MANIFEST.in | 6 ------ pyproject.toml | 21 +++++++++++++++++++-- repo_helper.yml | 1 + setup.py | 24 ------------------------ 4 files changed, 20 insertions(+), 32 deletions(-) delete mode 100644 MANIFEST.in delete mode 100644 setup.py diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 9e31de7..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1,6 +0,0 @@ -include __pkginfo__.py -include LICENSE -include requirements.txt -prune **/__pycache__ -recursive-include sphinx_autofixture *.pyi -include sphinx_autofixture/py.typed diff --git a/pyproject.toml b/pyproject.toml index 2784343..673dc49 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] -requires = [ "setuptools>=40.6.0", "wheel>=0.34.2",] -build-backend = "setuptools.build_meta" +requires = [ "whey",] +build-backend = "whey" [project] name = "sphinx-autofixture" @@ -21,3 +21,20 @@ Homepage = "https://github.com/sphinx-toolbox/sphinx-autofixture" "Issue Tracker" = "https://github.com/sphinx-toolbox/sphinx-autofixture/issues" "Source Code" = "https://github.com/sphinx-toolbox/sphinx-autofixture" Documentation = "https://sphinx-autofixture.readthedocs.io/en/latest" + +[tool.whey] +base-classifiers = [ + "Development Status :: 4 - Beta", + "Framework :: Sphinx :: Extension", + "Intended Audience :: Developers", + "Programming Language :: Python", + "Topic :: Documentation", + "Topic :: Documentation :: Sphinx", + "Topic :: Software Development :: Documentation", + "Typing :: Typed", +] +python-versions = [ "3.6", "3.7", "3.8", "3.9",] +python-implementations = [ "CPython", "PyPy",] +platforms = [ "Windows", "macOS", "Linux",] +license-key = "MIT" +package = "sphinx_autofixture" diff --git a/repo_helper.yml b/repo_helper.yml index 8d4e1d4..1b1f6f4 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -20,6 +20,7 @@ python_versions: - pypy36 - pypy37 +use_whey: true sphinx_html_theme: furo standalone_contrib_guide: true diff --git a/setup.py b/setup.py deleted file mode 100644 index dbbc092..0000000 --- a/setup.py +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env python -# This file is managed by 'repo_helper'. Don't edit it directly. - -# stdlib -import shutil -import sys - -# 3rd party -from setuptools import setup - -sys.path.append('.') - -# this package -from __pkginfo__ import * # pylint: disable=wildcard-import - -setup( - description="Sphinx autodocumenter for pytest fixtures.", - extras_require=extras_require, - install_requires=install_requires, - py_modules=[], - version=__version__, - ) - -shutil.rmtree("sphinx_autofixture.egg-info", ignore_errors=True) From 9b9126c3c40da64433adabf556616433bd35531b Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 10 Mar 2021 13:05:20 +0000 Subject: [PATCH 011/109] Updated files with 'repo_helper'. (#24) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- doc-source/conf.py | 1 + doc-source/requirements.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/doc-source/conf.py b/doc-source/conf.py index 895e5d3..d612755 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -45,6 +45,7 @@ "sphinx_copybutton", "sphinxcontrib.default_values", "sphinxcontrib.toctree_plus", + "sphinx_debuginfo", "seed_intersphinx_mapping", "sphinx_autofixture", ] diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index d3dac2e..0ed7ce5 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -5,6 +5,7 @@ extras-require>=0.2.0 furo>=2020.11.19b18 seed-intersphinx-mapping>=0.3.1 sphinx-copybutton>=0.2.12 +sphinx-debuginfo>=0.1.0 sphinx-notfound-page>=0.5 sphinx-prompt>=1.1.0 sphinx-tabs>=1.1.13 From 43b78c1a3f78d13b0914734de14339eea8b80f16 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 10 Mar 2021 13:38:02 +0000 Subject: [PATCH 012/109] Bump mypy version --- repo_helper.yml | 1 + tox.ini | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/repo_helper.yml b/repo_helper.yml index 1b1f6f4..01b9ac7 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -20,6 +20,7 @@ python_versions: - pypy36 - pypy37 +mypy_version: "0.812" use_whey: true sphinx_html_theme: furo standalone_contrib_guide: true diff --git a/tox.ini b/tox.ini index 4810dc4..baef7cd 100644 --- a/tox.ini +++ b/tox.ini @@ -107,7 +107,7 @@ basepython = python3.6 ignore_errors = True changedir = {toxinidir} deps = - mypy==0.800 + mypy==0.812 -r{toxinidir}/tests/requirements.txt -r{toxinidir}/stubs.txt commands = mypy sphinx_autofixture tests {posargs} From 58a36033695edb5f3b9786f534f8cedbe752849a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 21:51:01 +0000 Subject: [PATCH 013/109] [pre-commit.ci] pre-commit autoupdate (#25) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1eb0915..33dd942 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -68,7 +68,7 @@ repos: - id: forbid-crlf - repo: https://github.com/repo-helper/formate - rev: v0.4.2 + rev: v0.4.3 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.(_)?py$ From 0ae88f035797c7e37ea67b2ab3cacb4a2a5f682e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 22 Mar 2021 17:48:42 +0000 Subject: [PATCH 014/109] [pre-commit.ci] pre-commit autoupdate (#26) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 33dd942..b635088 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -35,7 +35,7 @@ repos: - id: bind-requirements - repo: https://github.com/domdfcoding/flake8-dunder-all - rev: v0.1.5 + rev: v0.1.7 hooks: - id: ensure-dunder-all files: ^sphinx_autofixture/.*\.py$ @@ -54,7 +54,7 @@ repos: - id: rst-inline-touching-normal - repo: https://github.com/asottile/pyupgrade - rev: v2.10.0 + rev: v2.11.0 hooks: - id: pyupgrade args: From 4826de06586b412187a95545dd1980b3610d0919 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Sun, 28 Mar 2021 19:15:53 +0100 Subject: [PATCH 015/109] Update flake8 configuration --- tox.ini | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tox.ini b/tox.ini index baef7cd..6753627 100644 --- a/tox.ini +++ b/tox.ini @@ -87,18 +87,18 @@ deps = 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-pyi>=20.10.0 flake8-pytest-style>=1.3.0 + flake8-slots>=0.1.0 flake8-sphinx-links>=0.0.4 flake8-strftime>=0.1.1 flake8-typing-imports>=1.10.0 - flake8-encodings>=0.1.0 - flake8-slots>=0.1.0 - git+https://github.com/PyCQA/pydocstyle@5118faa7173b0e5bbc230c4adf628758e13605bf git+https://github.com/domdfcoding/flake8-quotes.git - git+https://github.com/domdfcoding/flake8-rst-docstrings.git git+https://github.com/domdfcoding/flake8-rst-docstrings-sphinx.git + git+https://github.com/domdfcoding/flake8-rst-docstrings.git + pydocstyle>=6.0.0 pygments>=2.7.1 commands = python3 -m flake8_rst_docstrings_sphinx sphinx_autofixture tests --allow-toolbox {posargs} From 2c18d5ec7806b785ae29c7fc44f8150e2275991f Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Sun, 28 Mar 2021 18:23:32 +0000 Subject: [PATCH 016/109] Updated files with 'repo_helper'. (#27) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .bumpversion.cfg | 3 + .github/ISSUE_TEMPLATE/bug_report.md | 5 +- .github/workflows/conda_ci.yml | 1 - .github/workflows/docs_test_action.yml | 1 - .github/workflows/flake8.yml | 2 - .github/workflows/mypy.yml | 4 +- .github/workflows/python_ci.yml | 8 +- .github/workflows/python_ci_linux.yml | 10 +- .github/workflows/python_ci_macos.yml | 8 +- .pre-commit-config.yaml | 2 +- .readthedocs.yml | 4 +- __pkginfo__.py | 2 +- doc-source/_static/style.css | 8 +- doc-source/conf.py | 6 +- doc-source/index.rst | 230 +++++++++++++------------ doc-source/requirements.txt | 2 +- pyproject.toml | 2 + setup.cfg | 45 ----- tox.ini | 4 +- 19 files changed, 155 insertions(+), 192 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index dfbef98..db72497 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -13,4 +13,7 @@ tag = True [bumpversion:file:sphinx_autofixture/__init__.py] +search = : str = "{current_version}" +replace = : str = "{new_version}" + [bumpversion:file:pyproject.toml] diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 1ea8285..f7ea4ab 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -17,7 +17,10 @@ THE ISSUE WILL BE CLOSED IF INSUFFICIENT INFORMATION IS PROVIDED. ## Steps to Reproduce - + 1. 2. diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 621b4aa..3c4b152 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -4,7 +4,6 @@ name: Conda Tests on: push: - pull_request: branches: ["master"] jobs: diff --git a/.github/workflows/docs_test_action.yml b/.github/workflows/docs_test_action.yml index 01232d5..51d1d73 100644 --- a/.github/workflows/docs_test_action.yml +++ b/.github/workflows/docs_test_action.yml @@ -2,7 +2,6 @@ --- name: "Docs Check" on: - - pull_request - push jobs: diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 177294b..29303d6 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -4,8 +4,6 @@ name: Flake8 on: push: - pull_request: - branches: ["master"] jobs: Run: diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index afee01e..e10cf9b 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -4,8 +4,6 @@ name: mypy on: push: - pull_request: - branches: ["master"] jobs: Run: @@ -14,7 +12,7 @@ jobs: strategy: matrix: - os: ['windows-2019', 'macos-latest', 'ubuntu-20.04'] + os: ['ubuntu-20.04', 'windows-2019'] fail-fast: false steps: diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 4eb701e..9fe69f6 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -4,8 +4,6 @@ name: Windows on: push: - pull_request: - branches: ["master"] jobs: tests: @@ -13,7 +11,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.0-alpha.5,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.6,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -23,9 +21,9 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-alpha.5", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-alpha.6", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 157dca6..01dfe49 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -4,8 +4,6 @@ name: Linux on: push: - pull_request: - branches: ["master"] jobs: tests: @@ -13,7 +11,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.0-alpha.5,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.6,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -23,9 +21,9 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-alpha.5", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-alpha.6", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ @@ -127,7 +125,7 @@ jobs: - name: Upload distribution to PyPI πŸš€ if: startsWith(github.ref, 'refs/tags/') - uses: pypa/gh-action-pypi-publish@master + uses: pypa/gh-action-pypi-publish@v1.4.2 with: user: __token__ password: ${{ secrets.PYPI_TOKEN }} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index a74cd9e..b643117 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -4,8 +4,6 @@ name: macOS on: push: - pull_request: - branches: ["master"] jobs: tests: @@ -13,7 +11,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.0-alpha.5,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.6,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -23,9 +21,9 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-alpha.5", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-alpha.6", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b635088..97298d9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -74,7 +74,7 @@ repos: exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.(_)?py$ - repo: https://github.com/domdfcoding/dep_checker - rev: v0.5.0 + rev: v0.6.0 hooks: - id: dep_checker args: diff --git a/.readthedocs.yml b/.readthedocs.yml index ce3f99b..41d2e57 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -5,7 +5,9 @@ version: 2 sphinx: builder: html configuration: doc-source/conf.py -formats: all +formats: + - pdf + - htmlzip python: version: 3.8 install: diff --git a/__pkginfo__.py b/__pkginfo__.py index 40c687f..347154b 100644 --- a/__pkginfo__.py +++ b/__pkginfo__.py @@ -29,4 +29,4 @@ __version__ = "0.2.3" repo_root = pathlib.Path(__file__).parent install_requires = (repo_root / "requirements.txt").read_text(encoding="utf-8").split('\n') -extras_require = {"all": []} +extras_require = {} diff --git a/doc-source/_static/style.css b/doc-source/_static/style.css index 13dc6b0..644e48b 100644 --- a/doc-source/_static/style.css +++ b/doc-source/_static/style.css @@ -1,6 +1,10 @@ /* This file is managed by 'repo_helper'. Don't edit it directly. */ div.highlight { - -moz-tab-size: 4; /* Firefox */ - tab-size: 4; + -moz-tab-size: 4; + tab-size: 4; +} + +.field-list dt, dl.simple dt { + margin-top: 0.5rem; } diff --git a/doc-source/conf.py b/doc-source/conf.py index d612755..2fa1591 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -23,7 +23,7 @@ """ author = "Dominic Davis-Foster" -project = "sphinx-autofixture" +project = "sphinx-autofixture".replace('_', '-') slug = re.sub(r'\W+', '-', project.lower()) release = version = __version__ copyright = "2020-2021 Dominic Davis-Foster" # pylint: disable=redefined-builtin @@ -34,7 +34,9 @@ "sphinx_toolbox", "sphinx_toolbox.more_autodoc", "sphinx_toolbox.more_autosummary", + "sphinx_toolbox.documentation_summary", "sphinx_toolbox.tweaks.param_dash", + "sphinx_toolbox.tweaks.latex_toc", "sphinx.ext.intersphinx", "sphinx.ext.mathjax", "sphinxcontrib.httpdomain", @@ -110,7 +112,7 @@ hide_none_rtype = True all_typevars = True overloads_location = "bottom" - +documentation_summary = "Sphinx autodocumenter for pytest fixtures." autodoc_exclude_members = [ # Exclude "standard" methods. "__dict__", diff --git a/doc-source/index.rst b/doc-source/index.rst index fe2825c..31e2f29 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -4,122 +4,124 @@ sphinx-autofixture .. start short_desc -**Sphinx autodocumenter for pytest fixtures.** +.. documentation-summary:: .. end short_desc .. start shields -.. list-table:: - :stub-columns: 1 - :widths: 10 90 - - * - Docs - - |docs| |docs_check| - * - Tests - - |actions_linux| |actions_windows| |actions_macos| |coveralls| - * - PyPI - - |pypi-version| |supported-versions| |supported-implementations| |wheel| - * - Anaconda - - |conda-version| |conda-platform| - * - Activity - - |commits-latest| |commits-since| |maintained| |pypi-downloads| - * - QA - - |codefactor| |actions_flake8| |actions_mypy| |pre_commit_ci| - * - Other - - |license| |language| |requires| - -.. |docs| rtfd-shield:: - :project: sphinx-autofixture - :alt: Documentation Build Status - -.. |docs_check| actions-shield:: - :workflow: Docs Check - :alt: Docs Check Status - -.. |actions_linux| actions-shield:: - :workflow: Linux - :alt: Linux Test Status - -.. |actions_windows| actions-shield:: - :workflow: Windows - :alt: Windows Test Status - -.. |actions_macos| actions-shield:: - :workflow: macOS - :alt: macOS Test Status - -.. |actions_flake8| actions-shield:: - :workflow: Flake8 - :alt: Flake8 Status - -.. |actions_mypy| actions-shield:: - :workflow: mypy - :alt: mypy status - -.. |requires| requires-io-shield:: - :alt: Requirements Status - -.. |coveralls| coveralls-shield:: - :alt: Coverage - -.. |codefactor| codefactor-shield:: - :alt: CodeFactor Grade - -.. |pypi-version| pypi-shield:: - :project: sphinx-autofixture - :version: - :alt: PyPI - Package Version - -.. |supported-versions| pypi-shield:: - :project: sphinx-autofixture - :py-versions: - :alt: PyPI - Supported Python Versions - -.. |supported-implementations| pypi-shield:: - :project: sphinx-autofixture - :implementations: - :alt: PyPI - Supported Implementations - -.. |wheel| pypi-shield:: - :project: sphinx-autofixture - :wheel: - :alt: PyPI - Wheel - -.. |conda-version| image:: https://img.shields.io/conda/v/domdfcoding/sphinx-autofixture?logo=anaconda - :target: https://anaconda.org/domdfcoding/sphinx-autofixture - :alt: Conda - Package Version - -.. |conda-platform| image:: https://img.shields.io/conda/pn/domdfcoding/sphinx-autofixture?label=conda%7Cplatform - :target: https://anaconda.org/domdfcoding/sphinx-autofixture - :alt: Conda - Platform - -.. |license| github-shield:: - :license: - :alt: License - -.. |language| github-shield:: - :top-language: - :alt: GitHub top language - -.. |commits-since| github-shield:: - :commits-since: v0.2.3 - :alt: GitHub commits since tagged version - -.. |commits-latest| github-shield:: - :last-commit: - :alt: GitHub last commit - -.. |maintained| maintained-shield:: 2021 - :alt: Maintenance - -.. |pypi-downloads| pypi-shield:: - :project: sphinx-autofixture - :downloads: month - :alt: PyPI - Downloads - -.. |pre_commit_ci| pre-commit-ci-shield:: - :alt: pre-commit.ci status +.. only:: html + + .. list-table:: + :stub-columns: 1 + :widths: 10 90 + + * - Docs + - |docs| |docs_check| + * - Tests + - |actions_linux| |actions_windows| |actions_macos| |coveralls| + * - PyPI + - |pypi-version| |supported-versions| |supported-implementations| |wheel| + * - Anaconda + - |conda-version| |conda-platform| + * - Activity + - |commits-latest| |commits-since| |maintained| |pypi-downloads| + * - QA + - |codefactor| |actions_flake8| |actions_mypy| |pre_commit_ci| + * - Other + - |license| |language| |requires| + + .. |docs| rtfd-shield:: + :project: sphinx-autofixture + :alt: Documentation Build Status + + .. |docs_check| actions-shield:: + :workflow: Docs Check + :alt: Docs Check Status + + .. |actions_linux| actions-shield:: + :workflow: Linux + :alt: Linux Test Status + + .. |actions_windows| actions-shield:: + :workflow: Windows + :alt: Windows Test Status + + .. |actions_macos| actions-shield:: + :workflow: macOS + :alt: macOS Test Status + + .. |actions_flake8| actions-shield:: + :workflow: Flake8 + :alt: Flake8 Status + + .. |actions_mypy| actions-shield:: + :workflow: mypy + :alt: mypy status + + .. |requires| requires-io-shield:: + :alt: Requirements Status + + .. |coveralls| coveralls-shield:: + :alt: Coverage + + .. |codefactor| codefactor-shield:: + :alt: CodeFactor Grade + + .. |pypi-version| pypi-shield:: + :project: sphinx-autofixture + :version: + :alt: PyPI - Package Version + + .. |supported-versions| pypi-shield:: + :project: sphinx-autofixture + :py-versions: + :alt: PyPI - Supported Python Versions + + .. |supported-implementations| pypi-shield:: + :project: sphinx-autofixture + :implementations: + :alt: PyPI - Supported Implementations + + .. |wheel| pypi-shield:: + :project: sphinx-autofixture + :wheel: + :alt: PyPI - Wheel + + .. |conda-version| image:: https://img.shields.io/conda/v/domdfcoding/sphinx-autofixture?logo=anaconda + :target: https://anaconda.org/domdfcoding/sphinx-autofixture + :alt: Conda - Package Version + + .. |conda-platform| image:: https://img.shields.io/conda/pn/domdfcoding/sphinx-autofixture?label=conda%7Cplatform + :target: https://anaconda.org/domdfcoding/sphinx-autofixture + :alt: Conda - Platform + + .. |license| github-shield:: + :license: + :alt: License + + .. |language| github-shield:: + :top-language: + :alt: GitHub top language + + .. |commits-since| github-shield:: + :commits-since: v0.2.3 + :alt: GitHub commits since tagged version + + .. |commits-latest| github-shield:: + :last-commit: + :alt: GitHub last commit + + .. |maintained| maintained-shield:: 2021 + :alt: Maintenance + + .. |pypi-downloads| pypi-shield:: + :project: sphinx-autofixture + :downloads: month + :alt: PyPI - Downloads + + .. |pre_commit_ci| pre-commit-ci-shield:: + :alt: pre-commit.ci status .. end shields @@ -154,8 +156,10 @@ Installation .. start links -View the :ref:`Function Index ` or browse the `Source Code <_modules/index.html>`__. +.. only:: html -`Browse the GitHub Repository `__ + View the :ref:`Function Index ` or browse the `Source Code <_modules/index.html>`__. + + `Browse the GitHub Repository `__ .. end links diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index 0ed7ce5..379cb81 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -9,7 +9,7 @@ sphinx-debuginfo>=0.1.0 sphinx-notfound-page>=0.5 sphinx-prompt>=1.1.0 sphinx-tabs>=1.1.13 -sphinx-toolbox>=1.8.3 +sphinx-toolbox>=2.2.0 sphinxcontrib-httpdomain>=1.7.0 sphinxemoji>=0.1.6 toctree-plus>=0.1.0 diff --git a/pyproject.toml b/pyproject.toml index 673dc49..08f7e6e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,10 +9,12 @@ description = "Sphinx autodocumenter for pytest fixtures." readme = "README.rst" keywords = [ "sphinx", "documentation", "sphinx-extension", "pytest",] dynamic = [ "requires-python", "classifiers", "dependencies",] + [[project.authors]] email = "dominic@davis-foster.co.uk" name = "Dominic Davis-Foster" + [project.license] file = "LICENSE" diff --git a/setup.cfg b/setup.cfg index 9e209d2..a6dfbb7 100644 --- a/setup.cfg +++ b/setup.cfg @@ -6,51 +6,6 @@ # * mypy # * options.entry_points -[metadata] -name = sphinx-autofixture -author = Dominic Davis-Foster -author_email = dominic@davis-foster.co.uk -license = MIT License -keywords = sphinx, documentation, sphinx-extension, pytest -long_description = file: README.rst -long_description_content_type = text/x-rst -platforms = Windows, macOS, Linux -url = https://github.com/sphinx-toolbox/sphinx-autofixture -project_urls = - Documentation = https://sphinx-autofixture.readthedocs.io/en/latest - Issue Tracker = https://github.com/sphinx-toolbox/sphinx-autofixture/issues - Source Code = https://github.com/sphinx-toolbox/sphinx-autofixture -classifiers = - Development Status :: 4 - Beta - Framework :: Sphinx :: Extension - Intended Audience :: Developers - License :: OSI Approved :: MIT License - Operating System :: OS Independent - Programming Language :: Python - Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: Implementation :: CPython - Programming Language :: Python :: Implementation :: PyPy - Topic :: Documentation - Topic :: Documentation :: Sphinx - Topic :: Software Development :: Documentation - Typing :: Typed - -[options] -python_requires = >=3.6.1 -zip_safe = False -include_package_data = True -packages = find: - -[options.packages.find] -exclude = - doc-source - tests - tests.* - [mypy] python_version = 3.6 namespace_packages = True diff --git a/tox.ini b/tox.ini index 6753627..b612a91 100644 --- a/tox.ini +++ b/tox.ini @@ -67,8 +67,7 @@ commands = sphinx-build -M html . ./build {posargs} skip_install = True changedir = {toxinidir} deps = - virtualenv - git+https://github.com/pypa/build + build[virtualenv]>=0.3.1 check-wheel-contents>=0.1.0 twine>=3.2.0 commands = @@ -150,6 +149,7 @@ inline-quotes = " multiline-quotes = """ docstring-quotes = """ count = True +min_python_version = 3.6.1 [coverage:run] plugins = coverage_pyver_pragma From e7159ea26d7cdf628eb36b4b2234187288dc1480 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 5 Apr 2021 19:01:27 +0100 Subject: [PATCH 017/109] [pre-commit.ci] pre-commit autoupdate (#28) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 97298d9..6dfd8f5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -74,7 +74,7 @@ repos: exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.(_)?py$ - repo: https://github.com/domdfcoding/dep_checker - rev: v0.6.0 + rev: v0.6.1 hooks: - id: dep_checker args: From 6f53227a82a40786c847a53e5f47116b82606112 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 12 Apr 2021 20:04:54 +0100 Subject: [PATCH 018/109] [pre-commit.ci] pre-commit autoupdate (#29) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6dfd8f5..9d01dd7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -54,7 +54,7 @@ repos: - id: rst-inline-touching-normal - repo: https://github.com/asottile/pyupgrade - rev: v2.11.0 + rev: v2.12.0 hooks: - id: pyupgrade args: From 793d2f07e5e3b686ab5ffac2f0287ba7bd4538a2 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Fri, 16 Apr 2021 15:58:57 +0000 Subject: [PATCH 019/109] Updated files with 'repo_helper'. (#30) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/actions_build_conda.sh | 2 +- .github/workflows/python_ci.yml | 4 +- .github/workflows/python_ci_linux.yml | 6 +- .github/workflows/python_ci_macos.yml | 4 +- .pre-commit-config.yaml | 6 +- README.rst | 10 +-- __pkginfo__.py | 12 --- doc-source/conf.py | 116 +++++++++++++------------- doc-source/index.rst | 5 +- doc-source/requirements.txt | 1 + formate.toml | 1 + pyproject.toml | 4 + tests/requirements.txt | 5 +- tox.ini | 6 +- 14 files changed, 85 insertions(+), 97 deletions(-) diff --git a/.github/actions_build_conda.sh b/.github/actions_build_conda.sh index 1acebbe..4983f89 100755 --- a/.github/actions_build_conda.sh +++ b/.github/actions_build_conda.sh @@ -3,7 +3,7 @@ set -e -x -python -m repo_helper make-recipe || exit 1 +python -m mkrecipe || exit 1 # Switch to miniconda source "/home/runner/miniconda/etc/profile.d/conda.sh" diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 9fe69f6..b2a6abe 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -11,7 +11,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.0-alpha.6,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.7,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -21,7 +21,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-alpha.6", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-alpha.7", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 01dfe49..4d20701 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -11,7 +11,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.0-alpha.6,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.7,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -21,7 +21,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-alpha.6", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-alpha.7", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} @@ -149,7 +149,7 @@ jobs: - name: Install dependencies πŸ”§ run: | python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade repo_helper + python -m pip install --upgrade mkrecipe wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh bash miniconda.sh -b -p $HOME/miniconda diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index b643117..37b7098 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -11,7 +11,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.0-alpha.6,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.7,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -21,7 +21,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-alpha.6", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-alpha.7", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9d01dd7..b9bd364 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -31,7 +31,7 @@ repos: args: - --allow-git - id: check-docstring-first - exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup|tests/.*)\.py$ + exclude: ^(doc-source/conf|__pkginfo__|setup|tests/.*)\.py$ - id: bind-requirements - repo: https://github.com/domdfcoding/flake8-dunder-all @@ -71,10 +71,10 @@ repos: rev: v0.4.3 hooks: - id: formate - exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.(_)?py$ + exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ - repo: https://github.com/domdfcoding/dep_checker - rev: v0.6.1 + rev: v0.6.2 hooks: - id: dep_checker args: diff --git a/README.rst b/README.rst index 3cd6939..3ff1e64 100644 --- a/README.rst +++ b/README.rst @@ -26,7 +26,7 @@ sphinx-autofixture * - Activity - |commits-latest| |commits-since| |maintained| |pypi-downloads| * - QA - - |codefactor| |actions_flake8| |actions_mypy| |pre_commit_ci| + - |codefactor| |actions_flake8| |actions_mypy| * - Other - |license| |language| |requires| @@ -116,10 +116,6 @@ sphinx-autofixture :target: https://pypi.org/project/sphinx-autofixture/ :alt: PyPI - Downloads -.. |pre_commit_ci| image:: https://results.pre-commit.ci/badge/github/sphinx-toolbox/sphinx-autofixture/master.svg - :target: https://results.pre-commit.ci/latest/github/sphinx-toolbox/sphinx-autofixture/master - :alt: pre-commit.ci status - .. end shields Installation @@ -141,8 +137,8 @@ To install with ``conda``: .. code-block:: bash - $ conda config --add channels http://conda.anaconda.org/conda-forge - $ conda config --add channels http://conda.anaconda.org/domdfcoding + $ conda config --add channels https://conda.anaconda.org/conda-forge + $ conda config --add channels https://conda.anaconda.org/domdfcoding * Then install diff --git a/__pkginfo__.py b/__pkginfo__.py index 347154b..e1a467b 100644 --- a/__pkginfo__.py +++ b/__pkginfo__.py @@ -11,22 +11,10 @@ # This script based on https://github.com/rocky/python-uncompyle6/blob/master/__pkginfo__.py # -# stdlib -import pathlib - __all__ = [ - "__copyright__", "__version__", - "repo_root", - "install_requires", "extras_require", ] -__copyright__ = """ -2020-2021 Dominic Davis-Foster -""" - __version__ = "0.2.3" -repo_root = pathlib.Path(__file__).parent -install_requires = (repo_root / "requirements.txt").read_text(encoding="utf-8").split('\n') extras_require = {} diff --git a/doc-source/conf.py b/doc-source/conf.py index 2fa1591..2fb7ed0 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -5,31 +5,19 @@ # stdlib import os import re -import sys -sys.path.append(os.path.abspath('.')) -sys.path.append(os.path.abspath("..")) +# 3rd party +from sphinx_pyproject import SphinxConfig -# this package -from __pkginfo__ import __version__ +config = SphinxConfig() github_username = "sphinx-toolbox" github_repository = "sphinx-autofixture" -github_url = f"https://github.com/{github_username}/{github_repository}" - -rst_prolog = f""".. |pkgname| replace:: sphinx-autofixture -.. |pkgname2| replace:: ``sphinx-autofixture`` -.. |browse_github| replace:: `Browse the GitHub Repository <{github_url}>`__ -""" - author = "Dominic Davis-Foster" -project = "sphinx-autofixture".replace('_', '-') -slug = re.sub(r'\W+', '-', project.lower()) -release = version = __version__ -copyright = "2020-2021 Dominic Davis-Foster" # pylint: disable=redefined-builtin +project = "sphinx-autofixture" +copyright = "2020-2021 Dominic Davis-Foster" language = "en" package_root = "sphinx_autofixture" - extensions = [ "sphinx_toolbox", "sphinx_toolbox.more_autodoc", @@ -51,70 +39,38 @@ "seed_intersphinx_mapping", "sphinx_autofixture", ] - sphinxemoji_style = "twemoji" -todo_include_todos = bool(os.environ.get("SHOW_TODOS", 0)) gitstamp_fmt = "%d %b %Y" - templates_path = ["_templates"] html_static_path = ["_static"] source_suffix = ".rst" master_doc = "index" suppress_warnings = ["image.nonlocal_uri"] pygments_style = "default" - -intersphinx_mapping = { - "python": ("https://docs.python.org/3/", None), - "sphinx": ("https://www.sphinx-doc.org/en/stable/", None), - } - html_theme = "furo" -html_theme_options = { - "light_css_variables": { - "toc-title-font-size": "12pt", - "toc-font-size": "12pt", - "admonition-font-size": "12pt", - }, - "dark_css_variables": { - "toc-title-font-size": "12pt", - "toc-font-size": "12pt", - "admonition-font-size": "12pt", - }, - } html_theme_path = ["../.."] -html_show_sourcelink = True # True will show link to source - -html_context = {} -htmlhelp_basename = slug - -latex_documents = [("index", f'{slug}.tex', project, author, "manual")] -man_pages = [("index", slug, project, [author], 1)] -texinfo_documents = [("index", slug, project, author, slug, project, "Miscellaneous")] - -toctree_plus_types = { +html_show_sourcelink = True +toctree_plus_types = [ "class", - "function", - "method", + "confval", "data", + "directive", "enum", + "exception", "flag", - "confval", - "directive", - "role", - "confval", + "function", + "method", + "namedtuple", "protocol", + "role", "typeddict", - "namedtuple", - "exception", - } - + ] add_module_names = False hide_none_rtype = True all_typevars = True overloads_location = "bottom" documentation_summary = "Sphinx autodocumenter for pytest fixtures." - -autodoc_exclude_members = [ # Exclude "standard" methods. +autodoc_exclude_members = [ "__dict__", "__class__", "__dir__", @@ -132,6 +88,46 @@ "__abstractmethods__", "__hash__", ] + +github_url = f"https://github.com/{github_username}/{github_repository}" + +rst_prolog = f""".. |pkgname| replace:: sphinx-autofixture +.. |pkgname2| replace:: ``sphinx-autofixture`` +.. |browse_github| replace:: `Browse the GitHub Repository <{github_url}>`__ +""" + +slug = re.sub(r'\W+', '-', project.lower()) +release = version = config.version + +todo_include_todos = bool(os.environ.get("SHOW_TODOS", 0)) + +intersphinx_mapping = { + "python": ("https://docs.python.org/3/", None), + "sphinx": ("https://www.sphinx-doc.org/en/stable/", None), + } + +html_theme_options = { + "light_css_variables": { + "toc-title-font-size": "12pt", + "toc-font-size": "12pt", + "admonition-font-size": "12pt", + }, + "dark_css_variables": { + "toc-title-font-size": "12pt", + "toc-font-size": "12pt", + "admonition-font-size": "12pt", + }, + } + +html_context = {} +htmlhelp_basename = slug + +latex_documents = [("index", f'{slug}.tex', project, author, "manual")] +man_pages = [("index", slug, project, [author], 1)] +texinfo_documents = [("index", slug, project, author, slug, project, "Miscellaneous")] + +toctree_plus_types = set(toctree_plus_types) + autodoc_default_options = { "members": None, # Include all members (methods). "special-members": None, diff --git a/doc-source/index.rst b/doc-source/index.rst index 31e2f29..ee14c35 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -27,7 +27,7 @@ sphinx-autofixture * - Activity - |commits-latest| |commits-since| |maintained| |pypi-downloads| * - QA - - |codefactor| |actions_flake8| |actions_mypy| |pre_commit_ci| + - |codefactor| |actions_flake8| |actions_mypy| * - Other - |license| |language| |requires| @@ -120,9 +120,6 @@ sphinx-autofixture :downloads: month :alt: PyPI - Downloads - .. |pre_commit_ci| pre-commit-ci-shield:: - :alt: pre-commit.ci status - .. end shields Installation diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index 379cb81..c92fcfc 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -8,6 +8,7 @@ sphinx-copybutton>=0.2.12 sphinx-debuginfo>=0.1.0 sphinx-notfound-page>=0.5 sphinx-prompt>=1.1.0 +sphinx-pyproject>=0.1.0 sphinx-tabs>=1.1.13 sphinx-toolbox>=2.2.0 sphinxcontrib-httpdomain>=1.7.0 diff --git a/formate.toml b/formate.toml index 11a7da5..1610918 100644 --- a/formate.toml +++ b/formate.toml @@ -37,6 +37,7 @@ known_third_party = [ "coverage_pyver_pragma", "domdf_python_tools", "github", + "importlib_metadata", "pytest", "pytest_cov", "pytest_randomly", diff --git a/pyproject.toml b/pyproject.toml index 08f7e6e..bf0d126 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,3 +40,7 @@ python-implementations = [ "CPython", "PyPy",] platforms = [ "Windows", "macOS", "Linux",] license-key = "MIT" package = "sphinx_autofixture" + +[tool.mkrecipe] +conda-channels = [ "conda-forge", "domdfcoding",] +extras = "all" diff --git a/tests/requirements.txt b/tests/requirements.txt index ee70c30..20fef9d 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,10 +1,11 @@ -coincidence>=0.1.0 +coincidence>=0.2.0 coverage>=5.1 coverage-pyver-pragma>=0.2.1 domdf-python-tools[testing]>=2.0.1 +importlib-metadata>=3.6.0 iniconfig!=1.1.0,>=1.0.1 pytest>=6.0.0 pytest-cov>=2.8.1 -pytest-randomly>=3.3.1 +pytest-randomly>=3.7.0 pytest-timeout>=1.4.2 sphinx-toolbox[testing]>=1.7.3 diff --git a/tox.ini b/tox.ini index b612a91..41f6b3e 100644 --- a/tox.ini +++ b/tox.ini @@ -124,6 +124,10 @@ basepython = python3.6 skip_install = True ignore_errors = True whitelist_externals = /bin/bash +passenv = + COV_PYTHON_VERSION + COV_PLATFORM + COV_PYTHON_IMPLEMENTATION changedir = {toxinidir} deps = coverage>=5 @@ -135,7 +139,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 PT005 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 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 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 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 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 From 7d1b094886a4d3b4812931b9d978d9fe8d8a3a71 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Fri, 16 Apr 2021 19:35:47 +0100 Subject: [PATCH 020/109] Add a link to the example in the coincidence docs. --- .bumpversion.cfg | 1 - README.rst | 5 +++++ doc-source/usage.rst | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index db72497..e5f7d34 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -12,7 +12,6 @@ tag = True [bumpversion:file:doc-source/index.rst] [bumpversion:file:sphinx_autofixture/__init__.py] - search = : str = "{current_version}" replace = : str = "{new_version}" diff --git a/README.rst b/README.rst index 3ff1e64..394753f 100644 --- a/README.rst +++ b/README.rst @@ -8,6 +8,11 @@ sphinx-autofixture .. end short_desc +See `the documentation`_ for an example of the output with the Furo Sphinx theme, +and `the documentation for coincidence`_ for an example with the ReadTheDocs theme. + +.. _the documentation: https://sphinx-autofixture.readthedocs.io/en/latest/usage.html#directive-autofixture +.. _the documentation for coincidence: https://coincidence.readthedocs.io/en/latest/api/fixtures.html .. start shields diff --git a/doc-source/usage.rst b/doc-source/usage.rst index 6adfefa..6d536f7 100644 --- a/doc-source/usage.rst +++ b/doc-source/usage.rst @@ -45,6 +45,11 @@ Usage .. tip:: :rst:dir:`autofixture` can also be used with :rst:dir:`automodule`. + .. seealso:: `The documentation for coincidence`_ has an an example with the ReadTheDocs Sphinx theme. + + .. _The documentation for coincidence: https://coincidence.readthedocs.io/en/latest/api/fixtures.html + + .. rst:role:: fixture Role that provides a cross-reference to the documentation generated by :rst:dir:`autofixture`. From 9b64e90ab5d57f509b2be47d8dfd642300ec0ab3 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Fri, 30 Apr 2021 10:07:43 +0100 Subject: [PATCH 021/109] Regenerate reference files without the sidebar. --- .../test_output_310_index_html_.html | 40 ------------------- .../test_output_36_index_html_.html | 40 ------------------- .../test_output_36_pypy_index_html_.html | 40 ------------------- .../test_output_37_index_html_.html | 40 ------------------- .../test_output_37_pypy_index_html_.html | 40 ------------------- .../test_output_38_index_html_.html | 40 ------------------- 6 files changed, 240 deletions(-) diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index 37489bc..91a714e 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -395,46 +395,6 @@

-
diff --git a/tests/test_directive_/test_output_36_index_html_.html b/tests/test_directive_/test_output_36_index_html_.html index ae1f01f..4936f8a 100644 --- a/tests/test_directive_/test_output_36_index_html_.html +++ b/tests/test_directive_/test_output_36_index_html_.html @@ -200,46 +200,6 @@

-
diff --git a/tests/test_directive_/test_output_36_pypy_index_html_.html b/tests/test_directive_/test_output_36_pypy_index_html_.html index ae1f01f..4936f8a 100644 --- a/tests/test_directive_/test_output_36_pypy_index_html_.html +++ b/tests/test_directive_/test_output_36_pypy_index_html_.html @@ -200,46 +200,6 @@

-
diff --git a/tests/test_directive_/test_output_37_index_html_.html b/tests/test_directive_/test_output_37_index_html_.html index 563dc88..a0e1b89 100644 --- a/tests/test_directive_/test_output_37_index_html_.html +++ b/tests/test_directive_/test_output_37_index_html_.html @@ -380,46 +380,6 @@

-
diff --git a/tests/test_directive_/test_output_37_pypy_index_html_.html b/tests/test_directive_/test_output_37_pypy_index_html_.html index 0682df1..8bd5fe1 100644 --- a/tests/test_directive_/test_output_37_pypy_index_html_.html +++ b/tests/test_directive_/test_output_37_pypy_index_html_.html @@ -371,46 +371,6 @@

-
diff --git a/tests/test_directive_/test_output_38_index_html_.html b/tests/test_directive_/test_output_38_index_html_.html index 563dc88..a0e1b89 100644 --- a/tests/test_directive_/test_output_38_index_html_.html +++ b/tests/test_directive_/test_output_38_index_html_.html @@ -380,46 +380,6 @@

-
From 1c1013e33a5b2e879722e68fca31fd0857490fcd Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Fri, 30 Apr 2021 11:55:46 +0100 Subject: [PATCH 022/109] Updated files with 'repo_helper'. (#32) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/docs_test_action.yml | 11 ++++ .github/workflows/flake8.yml | 14 +++- .github/workflows/mypy.yml | 11 ++++ .github/workflows/python_ci.yml | 14 +++- .github/workflows/python_ci_linux.yml | 14 +++- .github/workflows/python_ci_macos.yml | 14 +++- .pre-commit-config.yaml | 2 +- doc-source/conf.py | 90 +++----------------------- pyproject.toml | 82 ++++++++++++++++++++++- 9 files changed, 164 insertions(+), 88 deletions(-) diff --git a/.github/workflows/docs_test_action.yml b/.github/workflows/docs_test_action.yml index 51d1d73..03fcd3b 100644 --- a/.github/workflows/docs_test_action.yml +++ b/.github/workflows/docs_test_action.yml @@ -10,8 +10,19 @@ jobs: steps: - name: Checkout πŸ›ŽοΈ uses: "actions/checkout@v1" + + - name: Check for changed files + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!tests/**' + - name: Install and Build πŸ”§ uses: ammaraskar/sphinx-action@master + if: steps.changes.outputs.code == 'true' with: pre-build-command: apt-get update && apt-get install gcc python3-dev git pandoc -y && python -m pip install tox docs-folder: "doc-source/" diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 29303d6..8c643bc 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -14,12 +14,23 @@ jobs: - name: Checkout πŸ›ŽοΈ uses: "actions/checkout@v2" + - name: Check for changed files + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' + - name: Setup Python 🐍 + if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v2" with: - python-version: "3.8" + python-version: "3.6" - name: Install dependencies πŸ”§ + if: steps.changes.outputs.code == 'true' run: | python -VV python -m site @@ -27,4 +38,5 @@ jobs: python -m pip install tox - name: "Run Flake8" + if: steps.changes.outputs.code == 'true' run: "python -m tox -e lint -- --format github" diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index e10cf9b..557a302 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -19,7 +19,17 @@ jobs: - name: Checkout πŸ›ŽοΈ uses: "actions/checkout@v2" + - name: Check for changed files + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' + - name: Setup Python 🐍 + if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v2" with: python-version: "3.6" @@ -32,4 +42,5 @@ jobs: python -m pip install --upgrade tox virtualenv - name: "Run mypy" + if: steps.changes.outputs.code == 'true' run: "python -m tox -e mypy" diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index b2a6abe..dea4f33 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -29,12 +29,23 @@ jobs: - name: Checkout πŸ›ŽοΈ uses: "actions/checkout@v2" + - name: Check for changed files + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' + - name: Setup Python 🐍 + if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v2" with: python-version: "${{ matrix.config.python-version }}" - name: Install dependencies πŸ”§ + if: steps.changes.outputs.code == 'true' run: | python -VV python -m site @@ -42,11 +53,12 @@ jobs: python -m pip install --upgrade tox virtualenv - name: "Run Tests for Python ${{ matrix.config.python-version }}" + if: steps.changes.outputs.code == 'true' run: python -m tox -e "${{ matrix.config.testenvs }}" - name: "Upload Coverage πŸš€" uses: actions/upload-artifact@v2 - if: ${{ always() }} + if: ${{ always() && steps.changes.outputs.code == 'true'}} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 4d20701..6e0adbe 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -29,12 +29,23 @@ jobs: - name: Checkout πŸ›ŽοΈ uses: "actions/checkout@v2" + - name: Check for changed files + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' + - name: Setup Python 🐍 + if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v2" with: python-version: "${{ matrix.config.python-version }}" - name: Install dependencies πŸ”§ + if: steps.changes.outputs.code == 'true' run: | python -VV python -m site @@ -43,11 +54,12 @@ jobs: python -m pip install --upgrade coverage_pyver_pragma - name: "Run Tests for Python ${{ matrix.config.python-version }}" + if: steps.changes.outputs.code == 'true' run: python -m tox -e "${{ matrix.config.testenvs }}" - name: "Upload Coverage πŸš€" uses: actions/upload-artifact@v2 - if: ${{ always() }} + if: ${{ always() && steps.changes.outputs.code == 'true'}} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 37b7098..a48cafb 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -29,12 +29,23 @@ jobs: - name: Checkout πŸ›ŽοΈ uses: "actions/checkout@v2" + - name: Check for changed files + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' + - name: Setup Python 🐍 + if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v2" with: python-version: "${{ matrix.config.python-version }}" - name: Install dependencies πŸ”§ + if: steps.changes.outputs.code == 'true' run: | python -VV python -m site @@ -42,11 +53,12 @@ jobs: python -m pip install --upgrade tox virtualenv - name: "Run Tests for Python ${{ matrix.config.python-version }}" + if: steps.changes.outputs.code == 'true' run: python -m tox -e "${{ matrix.config.testenvs }}" - name: "Upload Coverage πŸš€" uses: actions/upload-artifact@v2 - if: ${{ always() }} + if: ${{ always() && steps.changes.outputs.code == 'true'}} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b9bd364..4cb8e52 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -62,7 +62,7 @@ repos: - --keep-runtime-typing - repo: https://github.com/Lucas-C/pre-commit-hooks - rev: v1.1.9 + rev: v1.1.10 hooks: - id: remove-crlf - id: forbid-crlf diff --git a/doc-source/conf.py b/doc-source/conf.py index 2fb7ed0..9906725 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -5,91 +5,19 @@ # stdlib import os import re +import sys # 3rd party from sphinx_pyproject import SphinxConfig -config = SphinxConfig() +sys.path.append('.') -github_username = "sphinx-toolbox" -github_repository = "sphinx-autofixture" -author = "Dominic Davis-Foster" -project = "sphinx-autofixture" -copyright = "2020-2021 Dominic Davis-Foster" -language = "en" -package_root = "sphinx_autofixture" -extensions = [ - "sphinx_toolbox", - "sphinx_toolbox.more_autodoc", - "sphinx_toolbox.more_autosummary", - "sphinx_toolbox.documentation_summary", - "sphinx_toolbox.tweaks.param_dash", - "sphinx_toolbox.tweaks.latex_toc", - "sphinx.ext.intersphinx", - "sphinx.ext.mathjax", - "sphinxcontrib.httpdomain", - "sphinxcontrib.extras_require", - "sphinx.ext.todo", - "sphinxemoji.sphinxemoji", - "notfound.extension", - "sphinx_copybutton", - "sphinxcontrib.default_values", - "sphinxcontrib.toctree_plus", - "sphinx_debuginfo", - "seed_intersphinx_mapping", - "sphinx_autofixture", - ] -sphinxemoji_style = "twemoji" -gitstamp_fmt = "%d %b %Y" -templates_path = ["_templates"] -html_static_path = ["_static"] -source_suffix = ".rst" -master_doc = "index" -suppress_warnings = ["image.nonlocal_uri"] -pygments_style = "default" -html_theme = "furo" -html_theme_path = ["../.."] -html_show_sourcelink = True -toctree_plus_types = [ - "class", - "confval", - "data", - "directive", - "enum", - "exception", - "flag", - "function", - "method", - "namedtuple", - "protocol", - "role", - "typeddict", - ] -add_module_names = False -hide_none_rtype = True -all_typevars = True -overloads_location = "bottom" -documentation_summary = "Sphinx autodocumenter for pytest fixtures." -autodoc_exclude_members = [ - "__dict__", - "__class__", - "__dir__", - "__weakref__", - "__module__", - "__annotations__", - "__orig_bases__", - "__parameters__", - "__subclasshook__", - "__init_subclass__", - "__attrs_attrs__", - "__init__", - "__new__", - "__getnewargs__", - "__abstractmethods__", - "__hash__", - ] +config = SphinxConfig(globalns=globals()) +project = config["project"] +author = config["author"] +documentation_summary = config.description -github_url = f"https://github.com/{github_username}/{github_repository}" +github_url = "https://github.com/{github_username}/{github_repository}".format_map(config) rst_prolog = f""".. |pkgname| replace:: sphinx-autofixture .. |pkgname2| replace:: ``sphinx-autofixture`` @@ -126,12 +54,12 @@ man_pages = [("index", slug, project, [author], 1)] texinfo_documents = [("index", slug, project, author, slug, project, "Miscellaneous")] -toctree_plus_types = set(toctree_plus_types) +toctree_plus_types = set(config["toctree_plus_types"]) autodoc_default_options = { "members": None, # Include all members (methods). "special-members": None, "autosummary": None, "show-inheritance": None, - "exclude-members": ','.join(autodoc_exclude_members), + "exclude-members": ','.join(config["autodoc_exclude_members"]), } diff --git a/pyproject.toml b/pyproject.toml index bf0d126..bc22b41 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,12 +7,12 @@ name = "sphinx-autofixture" version = "0.2.3" description = "Sphinx autodocumenter for pytest fixtures." readme = "README.rst" -keywords = [ "sphinx", "documentation", "sphinx-extension", "pytest",] +keywords = [ "documentation", "pytest", "sphinx", "sphinx-extension",] dynamic = [ "requires-python", "classifiers", "dependencies",] [[project.authors]] -email = "dominic@davis-foster.co.uk" name = "Dominic Davis-Foster" +email = "dominic@davis-foster.co.uk" [project.license] @@ -44,3 +44,81 @@ package = "sphinx_autofixture" [tool.mkrecipe] conda-channels = [ "conda-forge", "domdfcoding",] extras = "all" + +[tool.sphinx-pyproject] +github_username = "sphinx-toolbox" +github_repository = "sphinx-autofixture" +author = "Dominic Davis-Foster" +project = "sphinx-autofixture" +copyright = "2020-2021 Dominic Davis-Foster" +language = "en" +package_root = "sphinx_autofixture" +extensions = [ + "sphinx_toolbox", + "sphinx_toolbox.more_autodoc", + "sphinx_toolbox.more_autosummary", + "sphinx_toolbox.documentation_summary", + "sphinx_toolbox.tweaks.param_dash", + "sphinx_toolbox.tweaks.latex_toc", + "sphinx.ext.intersphinx", + "sphinx.ext.mathjax", + "sphinxcontrib.httpdomain", + "sphinxcontrib.extras_require", + "sphinx.ext.todo", + "sphinxemoji.sphinxemoji", + "notfound.extension", + "sphinx_copybutton", + "sphinxcontrib.default_values", + "sphinxcontrib.toctree_plus", + "sphinx_debuginfo", + "seed_intersphinx_mapping", + "sphinx_autofixture", +] +sphinxemoji_style = "twemoji" +gitstamp_fmt = "%d %b %Y" +templates_path = [ "_templates",] +html_static_path = [ "_static",] +source_suffix = ".rst" +master_doc = "index" +suppress_warnings = [ "image.nonlocal_uri",] +pygments_style = "default" +html_theme = "furo" +html_theme_path = [ "../..",] +html_show_sourcelink = true +toctree_plus_types = [ + "class", + "confval", + "data", + "directive", + "enum", + "exception", + "flag", + "function", + "method", + "namedtuple", + "protocol", + "role", + "typeddict", +] +add_module_names = false +hide_none_rtype = true +all_typevars = true +overloads_location = "bottom" +autodoc_exclude_members = [ + "__dict__", + "__class__", + "__dir__", + "__weakref__", + "__module__", + "__annotations__", + "__orig_bases__", + "__parameters__", + "__subclasshook__", + "__init_subclass__", + "__attrs_attrs__", + "__init__", + "__new__", + "__getnewargs__", + "__abstractmethods__", + "__hash__", +] From 8dccfc3bc732de9202301568fd582eaecaeff816 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 5 May 2021 10:55:57 +0100 Subject: [PATCH 023/109] Updated files with 'repo_helper'. (#33) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/actions_build_conda.sh | 2 +- .github/workflows/conda_ci.yml | 3 +++ .github/workflows/docs_test_action.yml | 7 +++++-- .github/workflows/flake8.yml | 3 +++ .github/workflows/mypy.yml | 3 +++ .github/workflows/python_ci.yml | 18 ++++++++++++------ .github/workflows/python_ci_linux.yml | 18 ++++++++++++------ .github/workflows/python_ci_macos.yml | 18 ++++++++++++------ doc-source/conf.py | 4 ++++ 10 files changed, 56 insertions(+), 22 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index f7ea4ab..40258fa 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -44,7 +44,7 @@ If possible, please include a small, self-contained reproduction. * sphinx-autofixture: ## Installation source - + ## Other Additional Information: diff --git a/.github/actions_build_conda.sh b/.github/actions_build_conda.sh index 4983f89..01676e9 100755 --- a/.github/actions_build_conda.sh +++ b/.github/actions_build_conda.sh @@ -3,7 +3,7 @@ set -e -x -python -m mkrecipe || exit 1 +python -m mkrecipe --type wheel || exit 1 # Switch to miniconda source "/home/runner/miniconda/etc/profile.d/conda.sh" diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 3c4b152..881b7d1 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -6,6 +6,9 @@ on: push: branches: ["master"] +permissions: + contents: read + jobs: tests: name: "Conda" diff --git a/.github/workflows/docs_test_action.yml b/.github/workflows/docs_test_action.yml index 03fcd3b..720ef13 100644 --- a/.github/workflows/docs_test_action.yml +++ b/.github/workflows/docs_test_action.yml @@ -4,6 +4,9 @@ name: "Docs Check" on: - push +permissions: + contents: read + jobs: docs: runs-on: ubuntu-latest @@ -21,9 +24,9 @@ jobs: - '!tests/**' - name: Install and Build πŸ”§ - uses: ammaraskar/sphinx-action@master + uses: sphinx-toolbox/sphinx-action@sphinx-3.3.1 if: steps.changes.outputs.code == 'true' with: - pre-build-command: apt-get update && apt-get install gcc python3-dev git pandoc -y && python -m pip install tox + pre-build-command: python -m pip install tox docs-folder: "doc-source/" build-command: "tox -e docs -- " diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 8c643bc..742dfdd 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -5,6 +5,9 @@ name: Flake8 on: push: +permissions: + contents: read + jobs: Run: name: "Flake8" diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 557a302..43f22f7 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -5,6 +5,9 @@ name: mypy on: push: +permissions: + contents: read + jobs: Run: name: "mypy / ${{ matrix.os }}" diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index dea4f33..192de4b 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -5,13 +5,17 @@ name: Windows on: push: +permissions: + actions: write + contents: read + jobs: tests: name: "windows-2019 / Python ${{ matrix.config.python-version }}" runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.7,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.1,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -21,7 +25,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-alpha.7", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-beta.1", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} @@ -30,6 +34,7 @@ jobs: uses: "actions/checkout@v2" - name: Check for changed files + if: startsWith(github.ref, 'refs/tags/') != true uses: dorny/paths-filter@v2 id: changes with: @@ -39,13 +44,14 @@ jobs: - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' - name: Setup Python 🐍 - if: steps.changes.outputs.code == 'true' + id: setup-python + if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} uses: "actions/setup-python@v2" with: python-version: "${{ matrix.config.python-version }}" - name: Install dependencies πŸ”§ - if: steps.changes.outputs.code == 'true' + if: steps.setup-python.outcome == 'success' run: | python -VV python -m site @@ -53,12 +59,12 @@ jobs: python -m pip install --upgrade tox virtualenv - name: "Run Tests for Python ${{ matrix.config.python-version }}" - if: steps.changes.outputs.code == 'true' + if: steps.setup-python.outcome == 'success' run: python -m tox -e "${{ matrix.config.testenvs }}" - name: "Upload Coverage πŸš€" uses: actions/upload-artifact@v2 - if: ${{ always() && steps.changes.outputs.code == 'true'}} + if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 6e0adbe..977bdde 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -5,13 +5,17 @@ name: Linux on: push: +permissions: + actions: write + contents: read + jobs: tests: name: "ubuntu-20.04 / Python ${{ matrix.config.python-version }}" runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.7,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.1,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -21,7 +25,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-alpha.7", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-beta.1", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} @@ -30,6 +34,7 @@ jobs: uses: "actions/checkout@v2" - name: Check for changed files + if: startsWith(github.ref, 'refs/tags/') != true uses: dorny/paths-filter@v2 id: changes with: @@ -39,13 +44,14 @@ jobs: - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' - name: Setup Python 🐍 - if: steps.changes.outputs.code == 'true' + id: setup-python + if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} uses: "actions/setup-python@v2" with: python-version: "${{ matrix.config.python-version }}" - name: Install dependencies πŸ”§ - if: steps.changes.outputs.code == 'true' + if: steps.setup-python.outcome == 'success' run: | python -VV python -m site @@ -54,12 +60,12 @@ jobs: python -m pip install --upgrade coverage_pyver_pragma - name: "Run Tests for Python ${{ matrix.config.python-version }}" - if: steps.changes.outputs.code == 'true' + if: steps.setup-python.outcome == 'success' run: python -m tox -e "${{ matrix.config.testenvs }}" - name: "Upload Coverage πŸš€" uses: actions/upload-artifact@v2 - if: ${{ always() && steps.changes.outputs.code == 'true'}} + if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index a48cafb..b544f40 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -5,13 +5,17 @@ name: macOS on: push: +permissions: + actions: write + contents: read + jobs: tests: name: "macos-latest / Python ${{ matrix.config.python-version }}" runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.7,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.1,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -21,7 +25,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-alpha.7", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-beta.1", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} @@ -30,6 +34,7 @@ jobs: uses: "actions/checkout@v2" - name: Check for changed files + if: startsWith(github.ref, 'refs/tags/') != true uses: dorny/paths-filter@v2 id: changes with: @@ -39,13 +44,14 @@ jobs: - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' - name: Setup Python 🐍 - if: steps.changes.outputs.code == 'true' + id: setup-python + if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} uses: "actions/setup-python@v2" with: python-version: "${{ matrix.config.python-version }}" - name: Install dependencies πŸ”§ - if: steps.changes.outputs.code == 'true' + if: steps.setup-python.outcome == 'success' run: | python -VV python -m site @@ -53,12 +59,12 @@ jobs: python -m pip install --upgrade tox virtualenv - name: "Run Tests for Python ${{ matrix.config.python-version }}" - if: steps.changes.outputs.code == 'true' + if: steps.setup-python.outcome == 'success' run: python -m tox -e "${{ matrix.config.testenvs }}" - name: "Upload Coverage πŸš€" uses: actions/upload-artifact@v2 - if: ${{ always() && steps.changes.outputs.code == 'true'}} + if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage diff --git a/doc-source/conf.py b/doc-source/conf.py index 9906725..3e85939 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -63,3 +63,7 @@ "show-inheritance": None, "exclude-members": ','.join(config["autodoc_exclude_members"]), } + +latex_elements = { + "fncychap": "\\usepackage[Bjarne]{fncychap}\n\\ChNameAsIs\n\\ChTitleAsIs\n", + } From dc7cb32d59751557f7c6ab913223cbd6445d3236 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 5 May 2021 11:02:35 +0100 Subject: [PATCH 024/109] Improve documentation layout. --- doc-source/_templates/base.html | 1 + doc-source/_templates/sidebar/navigation.html | 1 + doc-source/contributing.rst | 73 ------------------- doc-source/index.rst | 9 ++- doc-source/requirements.txt | 1 + pyproject.toml | 1 + repo_helper.yml | 6 ++ 7 files changed, 16 insertions(+), 76 deletions(-) delete mode 100644 doc-source/contributing.rst diff --git a/doc-source/_templates/base.html b/doc-source/_templates/base.html index b101b24..b4048f1 100644 --- a/doc-source/_templates/base.html +++ b/doc-source/_templates/base.html @@ -2,4 +2,5 @@ {% extends "!base.html" %} {% block extrahead %} + {% endblock %} diff --git a/doc-source/_templates/sidebar/navigation.html b/doc-source/_templates/sidebar/navigation.html index 2cf224e..14db120 100644 --- a/doc-source/_templates/sidebar/navigation.html +++ b/doc-source/_templates/sidebar/navigation.html @@ -8,5 +8,6 @@ diff --git a/doc-source/contributing.rst b/doc-source/contributing.rst deleted file mode 100644 index 8bb205c..0000000 --- a/doc-source/contributing.rst +++ /dev/null @@ -1,73 +0,0 @@ -============== -Contributing -============== - -.. This file based on https://github.com/PyGithub/PyGithub/blob/master/CONTRIBUTING.md - -``sphinx-autofixture`` uses `tox `_ to automate testing and packaging, -and `pre-commit `_ to maintain code quality. - -Install ``pre-commit`` with ``pip`` and install the git hook: - -.. prompt:: bash - - python -m pip install pre-commit - pre-commit install - - -Coding style --------------- - -`formate `_ is used for code formatting. - -It can be run manually via ``pre-commit``: - -.. prompt:: bash - - pre-commit run formate -a - - -Or, to run the complete autoformatting suite: - -.. prompt:: bash - - pre-commit run -a - - -Automated tests -------------------- - -Tests are run with ``tox`` and ``pytest``. -To run tests for a specific Python version, such as Python 3.6: - -.. prompt:: bash - - tox -e py36 - - -To run tests for all Python versions, simply run: - -.. prompt:: bash - - tox - - -Type Annotations -------------------- - -Type annotations are checked using ``mypy``. Run ``mypy`` using ``tox``: - -.. prompt:: bash - - tox -e mypy - - - -Build documentation locally ------------------------------- - -The documentation is powered by Sphinx. A local copy of the documentation can be built with ``tox``: - -.. prompt:: bash - - tox -e docs diff --git a/doc-source/index.rst b/doc-source/index.rst index ee14c35..7eb9227 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -135,6 +135,12 @@ Installation .. end installation +Contents +-------- + +.. html-section:: + + .. toctree:: :hidden: @@ -142,12 +148,9 @@ Installation .. toctree:: :maxdepth: 3 - :caption: Documentation - :glob: usage api - contributing Source diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index c92fcfc..25e0715 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -1,3 +1,4 @@ +git+https://github.com/sphinx-toolbox/html-section.git autodocsumm>=0.2.0 default-values>=0.4.2 domdf-python-tools[testing]>=1.5.0 diff --git a/pyproject.toml b/pyproject.toml index bc22b41..cb58758 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,6 +73,7 @@ extensions = [ "sphinx_debuginfo", "seed_intersphinx_mapping", "sphinx_autofixture", + "html_section", ] sphinxemoji_style = "twemoji" gitstamp_fmt = "%d %b %Y" diff --git a/repo_helper.yml b/repo_helper.yml index 01b9ac7..1e8071c 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -30,6 +30,7 @@ conda_channels: extra_sphinx_extensions: - sphinx_autofixture + - html_section third_party_version_matrix: sphinx: @@ -50,3 +51,8 @@ classifiers: - "Topic :: Documentation" - 'Topic :: Documentation :: Sphinx' - 'Topic :: Software Development :: Documentation' + +exclude_files: + - contributing + +preserve_custom_theme: true From 719d0cda77cb5df4dc9d55a579079920659e546c Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Fri, 7 May 2021 11:38:19 +0000 Subject: [PATCH 025/109] Updated files with 'repo_helper'. (#34) 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 | 2 +- .github/workflows/python_ci_linux.yml | 3 +-- .github/workflows/python_ci_macos.yml | 2 +- .pre-commit-config.yaml | 2 +- doc-source/Source.rst | 25 ++++++++++++++----------- doc-source/index.rst | 2 +- doc-source/requirements.txt | 2 +- tox.ini | 6 +++--- 10 files changed, 25 insertions(+), 23 deletions(-) diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 742dfdd..116e13f 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -42,4 +42,4 @@ jobs: - name: "Run Flake8" if: steps.changes.outputs.code == 'true' - run: "python -m tox -e lint -- --format github" + run: "python -m tox -e lint -s false -- --format github" diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 43f22f7..5fb5285 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -46,4 +46,4 @@ jobs: - name: "Run mypy" if: steps.changes.outputs.code == 'true' - run: "python -m tox -e mypy" + run: "python -m tox -e mypy -s false" diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 192de4b..e223e3e 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -60,7 +60,7 @@ jobs: - name: "Run Tests for Python ${{ matrix.config.python-version }}" if: steps.setup-python.outcome == 'success' - run: python -m tox -e "${{ matrix.config.testenvs }}" + run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage πŸš€" uses: actions/upload-artifact@v2 diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 977bdde..55f3a94 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -61,7 +61,7 @@ jobs: - name: "Run Tests for Python ${{ matrix.config.python-version }}" if: steps.setup-python.outcome == 'success' - run: python -m tox -e "${{ matrix.config.testenvs }}" + run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage πŸš€" uses: actions/upload-artifact@v2 @@ -150,7 +150,6 @@ jobs: skip_existing: true - Conda: needs: deploy runs-on: "ubuntu-20.04" diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index b544f40..1e67ab9 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -60,7 +60,7 @@ jobs: - name: "Run Tests for Python ${{ matrix.config.python-version }}" if: steps.setup-python.outcome == 'success' - run: python -m tox -e "${{ matrix.config.testenvs }}" + run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage πŸš€" uses: actions/upload-artifact@v2 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4cb8e52..2956253 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -68,7 +68,7 @@ repos: - id: forbid-crlf - repo: https://github.com/repo-helper/formate - rev: v0.4.3 + rev: v0.4.4 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ diff --git a/doc-source/Source.rst b/doc-source/Source.rst index a66b810..dc31017 100644 --- a/doc-source/Source.rst +++ b/doc-source/Source.rst @@ -7,24 +7,27 @@ and can be accessed from the following URL: https://github.com/sphinx-toolbox/sp If you have ``git`` installed, you can clone the repository with the following command: -.. code-block:: bash +.. prompt:: bash + + git clone https://github.com/sphinx-toolbox/sphinx-autofixture + +.. parsed-literal:: - $ git clone https://github.com/sphinx-toolbox/sphinx-autofixture" - > Cloning into 'sphinx-autofixture'... - > remote: Enumerating objects: 47, done. - > remote: Counting objects: 100% (47/47), done. - > remote: Compressing objects: 100% (41/41), done. - > remote: Total 173 (delta 16), reused 17 (delta 6), pack-reused 126 - > Receiving objects: 100% (173/173), 126.56 KiB | 678.00 KiB/s, done. - > Resolving deltas: 100% (66/66), done. + Cloning into 'sphinx-autofixture'... + remote: Enumerating objects: 47, done. + remote: Counting objects: 100% (47/47), done. + remote: Compressing objects: 100% (41/41), done. + remote: Total 173 (delta 16), reused 17 (delta 6), pack-reused 126 + Receiving objects: 100% (173/173), 126.56 KiB | 678.00 KiB/s, done. + Resolving deltas: 100% (66/66), done. | Alternatively, the code can be downloaded in a 'zip' file by clicking: | :guilabel:`Clone or download` --> :guilabel:`Download Zip` .. figure:: git_download.png - :alt: Downloading a 'zip' file of the source code. + :alt: Downloading a 'zip' file of the source code. - Downloading a 'zip' file of the source code + Downloading a 'zip' file of the source code Building from source diff --git a/doc-source/index.rst b/doc-source/index.rst index 7eb9227..45c062a 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -160,6 +160,6 @@ Contents View the :ref:`Function Index ` or browse the `Source Code <_modules/index.html>`__. - `Browse the GitHub Repository `__ + :github:repo:`Browse the GitHub Repository ` .. end links diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index 25e0715..f74ac06 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -11,7 +11,7 @@ sphinx-notfound-page>=0.5 sphinx-prompt>=1.1.0 sphinx-pyproject>=0.1.0 sphinx-tabs>=1.1.13 -sphinx-toolbox>=2.2.0 +sphinx-toolbox>=2.9.0 sphinxcontrib-httpdomain>=1.7.0 sphinxemoji>=0.1.6 toctree-plus>=0.1.0 diff --git a/tox.ini b/tox.ini index 41f6b3e..d5f8015 100644 --- a/tox.ini +++ b/tox.ini @@ -61,7 +61,7 @@ basepython = python3.8 pip_version = pip>=21 changedir = {toxinidir}/doc-source deps = -r{toxinidir}/doc-source/requirements.txt -commands = sphinx-build -M html . ./build {posargs} +commands = sphinx-build -M {env:SPHINX_BUILDER:html} . ./build {posargs} [testenv:build] skip_install = True @@ -81,8 +81,8 @@ changedir = {toxinidir} ignore_errors = True skip_install = True deps = - flake8 >=3.8.2 - flake8-2020 >= 1.6.0 + flake8>=3.8.2 + flake8-2020>=1.6.0 flake8-builtins>=1.5.3 flake8-docstrings>=1.5.0 flake8-dunder-all>=0.1.1 From 8454da89d90decbef7d096defc9f1905ccf609b9 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 29 Jul 2021 21:17:28 +0100 Subject: [PATCH 026/109] Update tests requirements. --- tests/requirements.txt | 4 +--- tests/test_directive.py | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/tests/requirements.txt b/tests/requirements.txt index 20fef9d..d1d77c7 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,11 +1,9 @@ coincidence>=0.2.0 coverage>=5.1 coverage-pyver-pragma>=0.2.1 -domdf-python-tools[testing]>=2.0.1 importlib-metadata>=3.6.0 -iniconfig!=1.1.0,>=1.0.1 pytest>=6.0.0 pytest-cov>=2.8.1 pytest-randomly>=3.7.0 pytest-timeout>=1.4.2 -sphinx-toolbox[testing]>=1.7.3 +sphinx-toolbox[testing]>=2.13.0b1 diff --git a/tests/test_directive.py b/tests/test_directive.py index f01558d..d71807c 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -4,9 +4,9 @@ # 3rd party import pytest -from bs4 import BeautifulSoup # type: ignore +from bs4 import BeautifulSoup, element # type: ignore from domdf_python_tools.paths import PathPlus -from domdf_python_tools.testing import max_version, min_version, not_pypy, only_pypy, only_version +from coincidence import max_version, min_version, not_pypy, only_pypy, only_version from pytest_regressions.file_regression import FileRegressionFixture from sphinx.testing.path import path from sphinx_toolbox.testing import check_html_regression From cc816ea3e2a6f6f48499db0e2cf6f0b12a26e7ce Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 29 Jul 2021 22:31:57 +0100 Subject: [PATCH 027/109] Change tests to use coincidence --- tests/doc-test/test-root/index.rst | 6 ++-- .../test_output_310_index_html_.html | 36 ++++++------------- .../test_output_36_index_html_.html | 34 ++++++------------ .../test_output_36_pypy_index_html_.html | 34 ++++++------------ .../test_output_37_index_html_.html | 34 ++++++------------ .../test_output_37_pypy_index_html_.html | 34 ++++++------------ .../test_output_38_index_html_.html | 34 ++++++------------ 7 files changed, 64 insertions(+), 148 deletions(-) diff --git a/tests/doc-test/test-root/index.rst b/tests/doc-test/test-root/index.rst index 15af0a6..307cba2 100644 --- a/tests/doc-test/test-root/index.rst +++ b/tests/doc-test/test-root/index.rst @@ -2,11 +2,11 @@ sphinx-autofixture Demo ========================= -.. autofixture:: domdf_python_tools.testing.tmp_pathplus +.. autofixture:: coincidence.fixtures.tmp_pathplus -:fixture:`domdf_python_tools.testing.tmp_pathplus` +:fixture:`coincidence.fixtures.tmp_pathplus` -.. automodule:: domdf_python_tools.testing +.. automodule:: coincidence.fixtures :members: tmp_pathplus :noindex: :no-docstring: diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index 91a714e..401c0b8 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -29,17 +29,17 @@

-
+
fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus - + ΒΆ
@@ -51,7 +51,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -68,27 +68,20 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-

- + - domdf_python_tools.testing.tmp_pathplus + coincidence.fixtures.tmp_pathplus @@ -99,7 +92,7 @@

fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus @@ -113,7 +106,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -130,20 +123,13 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-
@@ -203,7 +189,7 @@

__dict__ - = mappingproxy({'__module__': 'tests.myproject', '__doc__': '\n\t\tMy Dataclass\n\t\t', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {}, '__init__': <function A.__init__>, '__repr__': <function A.__repr__>, '__eq__': <function A.__eq__>, '__hash__': None, '__match_args__': ()}) + = mappingproxy({'__module__': 'tests.myproject', '__doc__': '\n\t\tMy Dataclass\n\t\t', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {}, '__init__': <function A.__init__>, '__repr__': <function A.__repr__>, '__eq__': <function A.__eq__>, '__hash__': None, '__match_args__': (), '__annotations__': {}}) ΒΆ diff --git a/tests/test_directive_/test_output_36_index_html_.html b/tests/test_directive_/test_output_36_index_html_.html index 4936f8a..4735b58 100644 --- a/tests/test_directive_/test_output_36_index_html_.html +++ b/tests/test_directive_/test_output_36_index_html_.html @@ -29,17 +29,17 @@

-
+
fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus - + ΒΆ
@@ -51,7 +51,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -68,27 +68,20 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-

- + - domdf_python_tools.testing.tmp_pathplus + coincidence.fixtures.tmp_pathplus @@ -99,7 +92,7 @@

fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus @@ -113,7 +106,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -130,20 +123,13 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-
diff --git a/tests/test_directive_/test_output_36_pypy_index_html_.html b/tests/test_directive_/test_output_36_pypy_index_html_.html index 4936f8a..4735b58 100644 --- a/tests/test_directive_/test_output_36_pypy_index_html_.html +++ b/tests/test_directive_/test_output_36_pypy_index_html_.html @@ -29,17 +29,17 @@

-
+
fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus - + ΒΆ
@@ -51,7 +51,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -68,27 +68,20 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-

- + - domdf_python_tools.testing.tmp_pathplus + coincidence.fixtures.tmp_pathplus @@ -99,7 +92,7 @@

fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus @@ -113,7 +106,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -130,20 +123,13 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-
diff --git a/tests/test_directive_/test_output_37_index_html_.html b/tests/test_directive_/test_output_37_index_html_.html index a0e1b89..3517325 100644 --- a/tests/test_directive_/test_output_37_index_html_.html +++ b/tests/test_directive_/test_output_37_index_html_.html @@ -29,17 +29,17 @@

-
+
fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus - + ΒΆ
@@ -51,7 +51,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -68,27 +68,20 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-

- + - domdf_python_tools.testing.tmp_pathplus + coincidence.fixtures.tmp_pathplus @@ -99,7 +92,7 @@

fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus @@ -113,7 +106,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -130,20 +123,13 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-
diff --git a/tests/test_directive_/test_output_37_pypy_index_html_.html b/tests/test_directive_/test_output_37_pypy_index_html_.html index 8bd5fe1..6015769 100644 --- a/tests/test_directive_/test_output_37_pypy_index_html_.html +++ b/tests/test_directive_/test_output_37_pypy_index_html_.html @@ -29,17 +29,17 @@

-
+
fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus - + ΒΆ
@@ -51,7 +51,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -68,27 +68,20 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-

- + - domdf_python_tools.testing.tmp_pathplus + coincidence.fixtures.tmp_pathplus @@ -99,7 +92,7 @@

fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus @@ -113,7 +106,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -130,20 +123,13 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-
diff --git a/tests/test_directive_/test_output_38_index_html_.html b/tests/test_directive_/test_output_38_index_html_.html index a0e1b89..3517325 100644 --- a/tests/test_directive_/test_output_38_index_html_.html +++ b/tests/test_directive_/test_output_38_index_html_.html @@ -29,17 +29,17 @@

-
+
fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus - + ΒΆ
@@ -51,7 +51,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -68,27 +68,20 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-

- + - domdf_python_tools.testing.tmp_pathplus + coincidence.fixtures.tmp_pathplus @@ -99,7 +92,7 @@

fixture - domdf_python_tools.testing. + coincidence.fixtures. tmp_pathplus @@ -113,7 +106,7 @@

function

- Pytest fixture that returns a temporary directory in the form of a + Pytest fixture which returns a temporary directory in the form of a PathPlus @@ -130,20 +123,13 @@

-
pytest_plugins = ("domdf_python_tools.testing", )
+           
pytest_plugins = ("coincidence", )
 
 def test_something(tmp_pathplus: PathPlus):
         assert True
 
-
-

- - New in version 0.10.0. - -

-
From 2bc2f443f818b4fcf4167a6eebd4e592133732ee Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Fri, 30 Jul 2021 05:59:32 +0000 Subject: [PATCH 028/109] Updated files with 'repo_helper'. (#37) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .bumpversion.cfg | 6 ++++-- .github/actions_build_conda.sh | 5 ++--- .github/actions_deploy_conda.sh | 3 +-- .github/stale.yml | 2 +- .github/workflows/conda_ci.yml | 27 ++++++++++++++++++-------- .github/workflows/docs_test_action.yml | 6 +++++- .github/workflows/flake8.yml | 4 ++++ .github/workflows/mypy.yml | 4 ++++ .github/workflows/octocheese.yml | 4 +--- .github/workflows/python_ci.yml | 9 +++++++-- .github/workflows/python_ci_linux.yml | 14 +++++++++---- .github/workflows/python_ci_macos.yml | 9 +++++++-- .pre-commit-config.yaml | 9 +++++++-- __pkginfo__.py | 6 +----- doc-source/conf.py | 10 +++++++++- doc-source/index.rst | 1 + doc-source/license.rst | 10 ++++++++++ doc-source/requirements.txt | 8 ++++---- pyproject.toml | 11 +++++++++-- setup.cfg | 1 + tox.ini | 4 ++++ 21 files changed, 111 insertions(+), 42 deletions(-) create mode 100644 doc-source/license.rst diff --git a/.bumpversion.cfg b/.bumpversion.cfg index e5f7d34..f66a776 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -5,8 +5,6 @@ tag = True [bumpversion:file:repo_helper.yml] -[bumpversion:file:__pkginfo__.py] - [bumpversion:file:README.rst] [bumpversion:file:doc-source/index.rst] @@ -16,3 +14,7 @@ search = : str = "{current_version}" replace = : str = "{new_version}" [bumpversion:file:pyproject.toml] +search = version = "{current_version}" +replace = version = "{new_version}" + +[bumpversion:file:.github/workflows/conda_ci.yml] diff --git a/.github/actions_build_conda.sh b/.github/actions_build_conda.sh index 01676e9..1c8409e 100755 --- a/.github/actions_build_conda.sh +++ b/.github/actions_build_conda.sh @@ -10,13 +10,12 @@ source "/home/runner/miniconda/etc/profile.d/conda.sh" hash -r conda activate base conda config --set always_yes yes --set changeps1 no -conda update -q conda -conda install conda-build -conda install anaconda-client +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 diff --git a/.github/actions_deploy_conda.sh b/.github/actions_deploy_conda.sh index 7143fa1..e0c3bd7 100755 --- a/.github/actions_deploy_conda.sh +++ b/.github/actions_deploy_conda.sh @@ -8,8 +8,7 @@ source "/home/runner/miniconda/etc/profile.d/conda.sh" hash -r conda activate base conda config --set always_yes yes --set changeps1 no -conda update -q conda -conda install anaconda-client +conda install conda=4.8.5 anaconda-client conda info -a for f in conda/dist/noarch/sphinx-autofixture-*.tar.bz2; do diff --git a/.github/stale.yml b/.github/stale.yml index bb7ca3f..e5625b7 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -28,7 +28,7 @@ exemptMilestones: false exemptAssignees: false # Label to use when marking as stale -staleLabel: wontfix +staleLabel: stale # Comment to post when marking as stale. Set to `false` to disable markComment: > diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 881b7d1..1f5dfdf 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-latest + runs-on: ubuntu-18.04 steps: - name: Checkout πŸ›ŽοΈ @@ -28,7 +28,7 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade repo_helper + python -m pip install --upgrade whey-conda # $CONDA is an environment variable pointing to the root of the miniconda directory $CONDA/bin/conda update -q conda $CONDA/bin/conda install conda-build=3.21.0 @@ -36,11 +36,22 @@ jobs: $CONDA/bin/conda config --add channels conda-forge $CONDA/bin/conda config --add channels domdfcoding - - name: "Build and install package" + - name: "Build and index channel" run: | - # This mess is only necessary because conda won't fix it themselves - # https://github.com/conda/conda/issues/1884 - - python -m repo_helper build --conda --out-dir conda-bld/noarch + python -m whey --builder whey_conda --out-dir conda-bld/noarch $CONDA/bin/conda index ./conda-bld || exit 1 - $CONDA/bin/conda install -c file://$(pwd)/conda-bld sphinx-autofixture -y || exit 1 + + - name: "Search for package" + run: | + $CONDA/bin/conda search -c file://$(pwd)/conda-bld sphinx-autofixture + $CONDA/bin/conda search -c file://$(pwd)/conda-bld --override-channels sphinx-autofixture + + - name: "Install package" + run: | + $CONDA/bin/conda install -c file://$(pwd)/conda-bld sphinx-autofixture=0.2.3=py_1 -y || exit 1 + + - name: "Run Tests" + run: | + rm -rf sphinx_autofixture + $CONDA/bin/pip install -r tests/requirements.txt + $CONDA/bin/pytest tests/ diff --git a/.github/workflows/docs_test_action.yml b/.github/workflows/docs_test_action.yml index 720ef13..8efbe64 100644 --- a/.github/workflows/docs_test_action.yml +++ b/.github/workflows/docs_test_action.yml @@ -2,7 +2,11 @@ --- name: "Docs Check" on: - - push + push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + pull_request: permissions: contents: read diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 116e13f..f46a179 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -4,6 +4,10 @@ name: Flake8 on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + pull_request: permissions: contents: read diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 5fb5285..d6d4200 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -4,6 +4,10 @@ name: mypy on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + pull_request: permissions: contents: read diff --git a/.github/workflows/octocheese.yml b/.github/workflows/octocheese.yml index c273499..4af1a92 100644 --- a/.github/workflows/octocheese.yml +++ b/.github/workflows/octocheese.yml @@ -3,10 +3,8 @@ name: "GitHub Releases" on: - push: - branches: ["master"] schedule: - - cron: 0 12 * * 2,4,6 + - cron: 0 12 * * * jobs: Run: diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index e223e3e..3dc2c50 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -4,6 +4,11 @@ name: Windows on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + + pull_request: permissions: actions: write @@ -15,7 +20,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.0-beta.1,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.4,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -25,7 +30,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-beta.1", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 55f3a94..117d6c6 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -4,6 +4,12 @@ name: Linux on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + tags: + - '*' + pull_request: permissions: actions: write @@ -15,7 +21,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.0-beta.1,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.4,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -25,7 +31,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-beta.1", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} @@ -152,7 +158,7 @@ jobs: Conda: needs: deploy - runs-on: "ubuntu-20.04" + runs-on: "ubuntu-18.04" if: startsWith(github.ref, 'refs/tags/') || (startsWith(github.event.head_commit.message, 'Bump version') != true) steps: - name: Checkout πŸ›ŽοΈ @@ -168,7 +174,7 @@ jobs: python -m pip install --upgrade pip setuptools wheel python -m pip install --upgrade mkrecipe - wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh + 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 - name: Build Conda πŸ“¦ diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 1e67ab9..e40aa52 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -4,6 +4,11 @@ name: macOS on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + + pull_request: permissions: actions: write @@ -15,7 +20,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.0-beta.1,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.4,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -25,7 +30,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-beta.1", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2956253..3e71d54 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,6 +4,11 @@ exclude: ^$ repos: + - repo: https://github.com/repo-helper/pyproject-parser + rev: v0.4.1 + hooks: + - id: reformat-pyproject + - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.4.0 hooks: @@ -41,7 +46,7 @@ repos: files: ^sphinx_autofixture/.*\.py$ - repo: https://github.com/domdfcoding/flake2lint - rev: v0.4.0 + rev: v0.4.1 hooks: - id: flake2lint @@ -68,7 +73,7 @@ repos: - id: forbid-crlf - repo: https://github.com/repo-helper/formate - rev: v0.4.4 + rev: v0.4.9 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ diff --git a/__pkginfo__.py b/__pkginfo__.py index e1a467b..ea4ef04 100644 --- a/__pkginfo__.py +++ b/__pkginfo__.py @@ -11,10 +11,6 @@ # This script based on https://github.com/rocky/python-uncompyle6/blob/master/__pkginfo__.py # -__all__ = [ - "__version__", - "extras_require", - ] +__all__ = ["extras_require"] -__version__ = "0.2.3" extras_require = {} diff --git a/doc-source/conf.py b/doc-source/conf.py index 3e85939..60c5cb4 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -65,5 +65,13 @@ } latex_elements = { - "fncychap": "\\usepackage[Bjarne]{fncychap}\n\\ChNameAsIs\n\\ChTitleAsIs\n", + "printindex": "\\begin{flushleft}\n\\printindex\n\\end{flushleft}", + "tableofcontents": "\\pdfbookmark[0]{\\contentsname}{toc}\\sphinxtableofcontents", } + + +def setup(app): + # 3rd party + from sphinx_toolbox.latex import better_header_layout + + app.connect("config-inited", lambda app, config: better_header_layout(config)) diff --git a/doc-source/index.rst b/doc-source/index.rst index 45c062a..b3b68a9 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -5,6 +5,7 @@ sphinx-autofixture .. start short_desc .. documentation-summary:: + :meta: .. end short_desc diff --git a/doc-source/license.rst b/doc-source/license.rst new file mode 100644 index 0000000..42bb3da --- /dev/null +++ b/doc-source/license.rst @@ -0,0 +1,10 @@ +========= +License +========= + +``sphinx-autofixture`` is licensed under the :choosealicense:`MIT` + +.. license-info:: MIT + +.. license:: + :py: sphinx-autofixture diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index f74ac06..f42936b 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -1,17 +1,17 @@ git+https://github.com/sphinx-toolbox/html-section.git -autodocsumm>=0.2.0 -default-values>=0.4.2 +default-values>=0.5.0 domdf-python-tools[testing]>=1.5.0 extras-require>=0.2.0 furo>=2020.11.19b18 seed-intersphinx-mapping>=0.3.1 sphinx-copybutton>=0.2.12 sphinx-debuginfo>=0.1.0 +sphinx-licenseinfo>=0.1.1 sphinx-notfound-page>=0.5 sphinx-prompt>=1.1.0 sphinx-pyproject>=0.1.0 sphinx-tabs>=1.1.13 -sphinx-toolbox>=2.9.0 +sphinx-toolbox>=2.13.0 sphinxcontrib-httpdomain>=1.7.0 sphinxemoji>=0.1.6 -toctree-plus>=0.1.0 +toctree-plus>=0.5.0 diff --git a/pyproject.toml b/pyproject.toml index cb58758..dd6e681 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,10 +59,10 @@ extensions = [ "sphinx_toolbox.more_autosummary", "sphinx_toolbox.documentation_summary", "sphinx_toolbox.tweaks.param_dash", + "sphinx_toolbox.tweaks.latex_layout", "sphinx_toolbox.tweaks.latex_toc", "sphinx.ext.intersphinx", "sphinx.ext.mathjax", - "sphinxcontrib.httpdomain", "sphinxcontrib.extras_require", "sphinx.ext.todo", "sphinxemoji.sphinxemoji", @@ -71,6 +71,7 @@ extensions = [ "sphinxcontrib.default_values", "sphinxcontrib.toctree_plus", "sphinx_debuginfo", + "sphinx_licenseinfo", "seed_intersphinx_mapping", "sphinx_autofixture", "html_section", @@ -95,7 +96,6 @@ toctree_plus_types = [ "exception", "flag", "function", - "method", "namedtuple", "protocol", "role", @@ -123,3 +123,10 @@ autodoc_exclude_members = [ "__abstractmethods__", "__hash__", ] + +[tool.mypy] +python_version = "3.6" +namespace_packages = true +check_untyped_defs = true +warn_unused_ignores = true +no_implicit_optional = true diff --git a/setup.cfg b/setup.cfg index a6dfbb7..7cde712 100644 --- a/setup.cfg +++ b/setup.cfg @@ -11,4 +11,5 @@ python_version = 3.6 namespace_packages = True check_untyped_defs = True warn_unused_ignores = True +no_implicit_optional = True incremental = False diff --git a/tox.ini b/tox.ini index d5f8015..0927beb 100644 --- a/tox.ini +++ b/tox.ini @@ -99,6 +99,7 @@ deps = git+https://github.com/domdfcoding/flake8-rst-docstrings.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 sphinx_autofixture tests --allow-toolbox {posargs} [testenv:mypy] @@ -145,6 +146,9 @@ rst-directives = TODO envvar extras-require + license + license-info +rst-roles = choosealicense per-file-ignores = tests/*: 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 */*.pyi: 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 From 9b9399d97de147f6d36082c7465da9f15bfc67bc Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Fri, 30 Jul 2021 08:27:35 +0100 Subject: [PATCH 029/109] Bump mypy version --- repo_helper.yml | 12 +++++------- setup.cfg | 15 --------------- tox.ini | 2 +- 3 files changed, 6 insertions(+), 23 deletions(-) delete mode 100644 setup.cfg diff --git a/repo_helper.yml b/repo_helper.yml index 1e8071c..749dfbe 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -11,6 +11,11 @@ version: '0.2.3' license: 'MIT' short_desc: 'Sphinx autodocumenter for pytest fixtures.' +mypy_version: "0.910" +use_whey: true +sphinx_html_theme: furo +preserve_custom_theme: true + python_versions: - 3.6 - 3.7 @@ -20,11 +25,6 @@ python_versions: - pypy36 - pypy37 -mypy_version: "0.812" -use_whey: true -sphinx_html_theme: furo -standalone_contrib_guide: true - conda_channels: - conda-forge @@ -54,5 +54,3 @@ classifiers: exclude_files: - contributing - -preserve_custom_theme: true diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 7cde712..0000000 --- a/setup.cfg +++ /dev/null @@ -1,15 +0,0 @@ -# This file is managed by 'repo_helper'. -# You may add new sections, but any changes made to the following sections will be lost: -# * metadata -# * options -# * options.packages.find -# * mypy -# * options.entry_points - -[mypy] -python_version = 3.6 -namespace_packages = True -check_untyped_defs = True -warn_unused_ignores = True -no_implicit_optional = True -incremental = False diff --git a/tox.ini b/tox.ini index 0927beb..23eee08 100644 --- a/tox.ini +++ b/tox.ini @@ -107,7 +107,7 @@ basepython = python3.6 ignore_errors = True changedir = {toxinidir} deps = - mypy==0.812 + mypy==0.910 -r{toxinidir}/tests/requirements.txt -r{toxinidir}/stubs.txt commands = mypy sphinx_autofixture tests {posargs} From e3d0b6c3a02a5df005feb1468820f452cb5afc5f Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Fri, 30 Jul 2021 08:28:17 +0100 Subject: [PATCH 030/109] Relax sphinx version requirement --- .github/workflows/python_ci.yml | 14 ++++++------- .github/workflows/python_ci_linux.yml | 14 ++++++------- .github/workflows/python_ci_macos.yml | 14 ++++++------- doc-source/usage.rst | 4 ++-- repo_helper.yml | 2 ++ requirements.txt | 2 +- tests/test_directive.py | 14 ++++++++++++- tox.ini | 30 ++++++++++++++------------- 8 files changed, 55 insertions(+), 39 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 3dc2c50..50aa76d 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -26,13 +26,13 @@ jobs: fail-fast: False matrix: config: - - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} + - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 117d6c6..301fa45 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -27,13 +27,13 @@ jobs: fail-fast: False matrix: config: - - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} + - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index e40aa52..9f73eca 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -26,13 +26,13 @@ jobs: fail-fast: False matrix: config: - - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3},build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3},build", experimental: True} + - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} + - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/doc-source/usage.rst b/doc-source/usage.rst index 6d536f7..a716b77 100644 --- a/doc-source/usage.rst +++ b/doc-source/usage.rst @@ -26,7 +26,7 @@ Usage .. code-block:: python - pytest_plugins = ("domdf_python_tools.testing", ) + pytest_plugins = ("coincidence", ) def test_something(tmp_pathplus: PathPlus): assert True @@ -40,7 +40,7 @@ Usage .. rest-example:: - .. autofixture:: domdf_python_tools.testing.tmp_pathplus + .. autofixture:: coincidence.tmp_pathplus .. tip:: :rst:dir:`autofixture` can also be used with :rst:dir:`automodule`. diff --git a/repo_helper.yml b/repo_helper.yml index 749dfbe..fd7be53 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -36,6 +36,8 @@ third_party_version_matrix: sphinx: - 3.2 - 3.3 + - 3.4 + - 3.5 keywords: - sphinx diff --git a/requirements.txt b/requirements.txt index cc34e70..db1874a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ domdf-python-tools>=1.5.0 -sphinx<3.4.0,>=3.0.3 +sphinx<3.6.0,>=3.0.3 diff --git a/tests/test_directive.py b/tests/test_directive.py index d71807c..0eebbb4 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -5,8 +5,8 @@ # 3rd party import pytest from bs4 import BeautifulSoup, element # type: ignore -from domdf_python_tools.paths import PathPlus from coincidence import max_version, min_version, not_pypy, only_pypy, only_version +from domdf_python_tools.paths import PathPlus from pytest_regressions.file_regression import FileRegressionFixture from sphinx.testing.path import path from sphinx_toolbox.testing import check_html_regression @@ -84,4 +84,16 @@ def original_datadir(request) -> Path: ] ) def test_output(page: BeautifulSoup, file_regression: FileRegressionFixture, version): + + code: element.Tag + for code in page.find_all("code", attrs={"class": "sig-prename descclassname"}): + first_child = code.contents[0] + if isinstance(first_child, element.Tag): + code.contents = [first_child.contents[0]] + + for code in page.find_all("code", attrs={"class": "sig-name descname"}): + first_child = code.contents[0] + if isinstance(first_child, element.Tag): + code.contents = [first_child.contents[0]] + check_html_regression(page, file_regression) diff --git a/tox.ini b/tox.ini index 23eee08..b6b7c06 100644 --- a/tox.ini +++ b/tox.ini @@ -17,13 +17,13 @@ [tox] envlist = - py36-sphinx{3.2,3.3} - py37-sphinx{3.2,3.3} - py38-sphinx{3.2,3.3} - py39-sphinx{3.2,3.3} - py310-dev-sphinx{3.2,3.3} - pypy36-sphinx{3.2,3.3} - pypy37-sphinx{3.2,3.3} + py36-sphinx{3.2,3.3,3.4,3.5} + py37-sphinx{3.2,3.3,3.4,3.5} + py38-sphinx{3.2,3.3,3.4,3.5} + py39-sphinx{3.2,3.3,3.4,3.5} + py310-dev-sphinx{3.2,3.3,3.4,3.5} + pypy36-sphinx{3.2,3.3,3.4,3.5} + pypy37-sphinx{3.2,3.3,3.4,3.5} mypy build skip_missing_interpreters = True @@ -35,13 +35,13 @@ requires = [envlists] test = - py36-sphinx{3.2,3.3} - py37-sphinx{3.2,3.3} - py38-sphinx{3.2,3.3} - py39-sphinx{3.2,3.3} - py310-dev-sphinx{3.2,3.3} - pypy36-sphinx{3.2,3.3} - pypy37-sphinx{3.2,3.3} + py36-sphinx{3.2,3.3,3.4,3.5} + py37-sphinx{3.2,3.3,3.4,3.5} + py38-sphinx{3.2,3.3,3.4,3.5} + py39-sphinx{3.2,3.3,3.4,3.5} + py310-dev-sphinx{3.2,3.3,3.4,3.5} + pypy36-sphinx{3.2,3.3,3.4,3.5} + pypy37-sphinx{3.2,3.3,3.4,3.5} qa = mypy, lint cov = py36-sphinx3.2, coverage @@ -51,6 +51,8 @@ deps = -r{toxinidir}/tests/requirements.txt sphinx3.2: sphinx~=3.2.0 sphinx3.3: sphinx~=3.3.0 + sphinx3.4: sphinx~=3.4.0 + sphinx3.5: sphinx~=3.5.0 commands = python --version python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} From 24ccc313cb93affbb444debb8e78939049841674 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Fri, 24 Sep 2021 21:26:44 +0100 Subject: [PATCH 031/109] Link to license page in the docs sidebar. --- doc-source/_templates/sidebar/navigation.html | 13 ------------- doc-source/index.rst | 8 ++++++++ 2 files changed, 8 insertions(+), 13 deletions(-) delete mode 100644 doc-source/_templates/sidebar/navigation.html diff --git a/doc-source/_templates/sidebar/navigation.html b/doc-source/_templates/sidebar/navigation.html deleted file mode 100644 index 14db120..0000000 --- a/doc-source/_templates/sidebar/navigation.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/doc-source/index.rst b/doc-source/index.rst index b3b68a9..b0a65a2 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -155,6 +155,14 @@ Contents Source +.. sidebar-links:: + :caption: Links + :github: + :pypi: sphinx-autofixture + + Contributing Guide + license + .. start links .. only:: html From 454693a0a2b6b8f1be64cfdc885f3e6ff3997ffb Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 27 Sep 2021 11:07:50 +0100 Subject: [PATCH 032/109] Configure snippet-fmt --- .pre-commit-config.yaml | 7 ++++++- pyproject.toml | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3e71d54..16c0f2a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -72,7 +72,12 @@ repos: - id: remove-crlf - id: forbid-crlf - - repo: https://github.com/repo-helper/formate + - repo: https://github.com/python-formate/snippet-fmt + rev: v0.1.3 + hooks: + - id: snippet-fmt + + - repo: https://github.com/python-formate/formate rev: v0.4.9 hooks: - id: formate diff --git a/pyproject.toml b/pyproject.toml index dd6e681..4ddc4c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -105,6 +105,7 @@ add_module_names = false hide_none_rtype = true all_typevars = true overloads_location = "bottom" +html_codeblock_linenos_style = "table" autodoc_exclude_members = [ "__dict__", "__class__", @@ -130,3 +131,16 @@ namespace_packages = true check_untyped_defs = true warn_unused_ignores = true no_implicit_optional = true + +[tool.snippet-fmt] +directives = [ "code-block",] + +[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 8efd56f6f7286047a8176112c5c5d39a3bd5cbd5 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Sun, 3 Apr 2022 15:44:21 +0100 Subject: [PATCH 033/109] Improve type hints --- tests/myproject.py | 8 ++++---- tests/test_directive.py | 11 ++++++----- tests/test_is_fixture.py | 28 ++++++++++++++++------------ tests/test_setup.py | 2 +- 4 files changed, 27 insertions(+), 22 deletions(-) diff --git a/tests/myproject.py b/tests/myproject.py index 6125304..0d29b65 100644 --- a/tests/myproject.py +++ b/tests/myproject.py @@ -1,7 +1,7 @@ # stdlib import builtins import sys -from typing import Any, Dict +from typing import Any, Callable, Dict __all__ = ["baz", "fizbuzz"] @@ -18,9 +18,9 @@ class A: __all__.append('A') -def foo(): +def foo() -> Callable: - def bar(): + def bar() -> None: """ A locally defined function. """ @@ -32,7 +32,7 @@ def bar(): # fizbuzz = foo() -def create_fizbuzz(): +def create_fizbuzz() -> Callable: # Based on the dataclass module from CPython locals = {"BUILTINS": builtins} # noqa: A001 # pylint: disable=redefined-builtin local_vars = ", ".join(locals.keys()) diff --git a/tests/test_directive.py b/tests/test_directive.py index 0eebbb4..517c9a5 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -1,10 +1,11 @@ # stdlib import os from pathlib import Path +from typing import Any, Iterator # 3rd party import pytest -from bs4 import BeautifulSoup, element # type: ignore +from bs4 import BeautifulSoup, element # type: ignore[import] from coincidence import max_version, min_version, not_pypy, only_pypy, only_version from domdf_python_tools.paths import PathPlus from pytest_regressions.file_regression import FileRegressionFixture @@ -15,20 +16,20 @@ @pytest.fixture(scope="session") -def rootdir(): +def rootdir() -> path: rdir = PathPlus(__file__).parent.absolute() / "doc-test" (rdir / "test-root").maybe_make(parents=True) return path(rdir) @pytest.fixture() -def content(app): +def content(app: Sphinx) -> Iterator[Sphinx]: app.build(force_all=True) yield app @pytest.fixture() -def page(content, request) -> BeautifulSoup: +def page(content: Any, request: Any) -> Iterator[BeautifulSoup]: pagename = request.param c = (content.outdir / pagename).read_text() @@ -36,7 +37,7 @@ def page(content, request) -> BeautifulSoup: @pytest.fixture() -def original_datadir(request) -> Path: +def original_datadir(request: Any) -> Path: # Work around pycharm confusing datadir with test file. return PathPlus(os.path.splitext(request.module.__file__)[0] + '_') diff --git a/tests/test_is_fixture.py b/tests/test_is_fixture.py index 948f926..2a24f8c 100644 --- a/tests/test_is_fixture.py +++ b/tests/test_is_fixture.py @@ -1,3 +1,7 @@ +# stdlib +from types import FunctionType, MethodType +from typing import Any, Union + # 3rd party import pytest from pytest import fixture # noqa: PT013 @@ -7,14 +11,14 @@ @fixture -def name(): +def name() -> None: """ :return: """ @fixture() -def call(): +def call() -> None: """ :return: @@ -22,7 +26,7 @@ def call(): @fixture(scope="module") -def call_scoped(): +def call_scoped() -> None: """ :return: @@ -30,14 +34,14 @@ def call_scoped(): @pytest.fixture # noqa: PT001 -def pytest_attribute(): +def pytest_attribute() -> None: """ :return: """ @pytest.fixture() -def pytest_call(): +def pytest_call() -> None: """ :return: @@ -45,7 +49,7 @@ def pytest_call(): @pytest.fixture(scope="module") -def pytest_call_scoped(): +def pytest_call_scoped() -> None: """ :return: """ @@ -62,26 +66,26 @@ def pytest_call_scoped(): pytest.param(pytest_call_scoped, "module", id="pytest_call_scoped"), ] ) -def test_is_fixture(func, scope): +def test_is_fixture(func: Union[FunctionType, MethodType], scope: str) -> None: assert is_fixture(func) == (True, scope) -def function(): +def function() -> None: pass class Class: - def method(self): + def method(self) -> None: pass -def deco(func): +def deco(func: Any) -> Any: return func @deco -def decorated(): +def decorated() -> None: pass @@ -94,5 +98,5 @@ def decorated(): pytest.param(Class().method, id="Class().method"), ] ) -def test_isnt_fixture(func): +def test_isnt_fixture(func: Union[FunctionType, MethodType]) -> None: assert is_fixture(func) == (False, None) diff --git a/tests/test_setup.py b/tests/test_setup.py index 8a6e86f..5dcb25e 100644 --- a/tests/test_setup.py +++ b/tests/test_setup.py @@ -6,7 +6,7 @@ import sphinx_autofixture -def test_setup(): +def test_setup() -> None: setup_ret, directives, roles, additional_nodes, app = run_setup(sphinx_autofixture.setup) assert setup_ret == { "version": sphinx_autofixture.__version__, From 9ae1e8cadd25407bc23d6cf0cffc9d1e6aa318cf Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 4 Apr 2022 20:28:31 +0100 Subject: [PATCH 034/109] Update reference file for Sphinx 3.5 --- tests/conftest.py | 1 + tests/doc-test/test-root/index.rst | 2 + tests/myproject.py | 6 +- tests/test_directive.py | 13 ++- .../test_output_310_index_html_.html | 101 ++++++++++++------ .../test_output_36_index_html_.html | 14 ++- .../test_output_36_pypy_index_html_.html | 14 ++- .../test_output_37_index_html_.html | 91 ++++++++++------ .../test_output_37_pypy_index_html_.html | 101 ++++++++++++------ .../test_output_38_index_html_.html | 91 ++++++++++------ 10 files changed, 283 insertions(+), 151 deletions(-) create mode 100644 tests/conftest.py diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..913030d --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1 @@ +pytest_plugins = ("sphinx_toolbox.testing", ) diff --git a/tests/doc-test/test-root/index.rst b/tests/doc-test/test-root/index.rst index 307cba2..c24ff15 100644 --- a/tests/doc-test/test-root/index.rst +++ b/tests/doc-test/test-root/index.rst @@ -10,8 +10,10 @@ sphinx-autofixture Demo :members: tmp_pathplus :noindex: :no-docstring: + :exclude-members: __dict__ .. automodule:: tests.myproject :members: :undoc-members: :special-members: + :exclude-members: __dict__ diff --git a/tests/myproject.py b/tests/myproject.py index 0d29b65..9d917a4 100644 --- a/tests/myproject.py +++ b/tests/myproject.py @@ -18,9 +18,9 @@ class A: __all__.append('A') -def foo() -> Callable: +def foo(): - def bar() -> None: + def bar(): """ A locally defined function. """ @@ -32,7 +32,7 @@ def bar() -> None: # fizbuzz = foo() -def create_fizbuzz() -> Callable: +def create_fizbuzz(): # Based on the dataclass module from CPython locals = {"BUILTINS": builtins} # noqa: A001 # pylint: disable=redefined-builtin local_vars = ", ".join(locals.keys()) diff --git a/tests/test_directive.py b/tests/test_directive.py index 517c9a5..587396a 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -8,9 +8,9 @@ from bs4 import BeautifulSoup, element # type: ignore[import] from coincidence import max_version, min_version, not_pypy, only_pypy, only_version from domdf_python_tools.paths import PathPlus -from pytest_regressions.file_regression import FileRegressionFixture +from sphinx.application import Sphinx from sphinx.testing.path import path -from sphinx_toolbox.testing import check_html_regression +from sphinx_toolbox.testing import HTMLRegressionFixture pytest_plugins = "sphinx.testing.fixtures" @@ -84,10 +84,15 @@ def original_datadir(request: Any) -> Path: pytest.param("310", marks=only_version("3.10", reason="Output differs on 3.10")), ] ) -def test_output(page: BeautifulSoup, file_regression: FileRegressionFixture, version): +def test_output( + page: BeautifulSoup, + html_regression: HTMLRegressionFixture, + version: str, + ) -> None: code: element.Tag for code in page.find_all("code", attrs={"class": "sig-prename descclassname"}): + first_child = code.contents[0] if isinstance(first_child, element.Tag): code.contents = [first_child.contents[0]] @@ -97,4 +102,4 @@ def test_output(page: BeautifulSoup, file_regression: FileRegressionFixture, ver if isinstance(first_child, element.Tag): code.contents = [first_child.contents[0]] - check_html_regression(page, file_regression) + html_regression.check(page, jinja2=True) diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index 401c0b8..0ab82d0 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -30,8 +30,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. @@ -88,8 +91,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. @@ -136,8 +142,11 @@

- - class + {% if sphinx_version >= (3, 5) %} + + class + {% else %} + class{% endif %} tests.myproject. @@ -158,8 +167,14 @@

__dataclass_fields__ - - = {} + {% if sphinx_version >= (3, 5) %} + + = + + + {} + {% else %} + = {}{% endif %} ΒΆ @@ -173,8 +188,14 @@

__dataclass_params__ - - = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + {% if sphinx_version >= (3, 5) %} + + = + + + _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + {% else %} + = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False){% endif %} ΒΆ @@ -183,21 +204,6 @@

-
-
- - __dict__ - - - = mappingproxy({'__module__': 'tests.myproject', '__doc__': '\n\t\tMy Dataclass\n\t\t', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {}, '__init__': <function A.__init__>, '__repr__': <function A.__repr__>, '__eq__': <function A.__eq__>, '__hash__': None, '__match_args__': (), '__annotations__': {}}) - - - ΒΆ - -
-
-
-
@@ -207,8 +213,11 @@

( - - other + {% if sphinx_version >= (3, 5) %} + + other + {% else %} + other{% endif %} @@ -229,8 +238,14 @@

__hash__ - - = None + {% if sphinx_version >= (3, 5) %} + + = + + + None + {% else %} + = None{% endif %} ΒΆ @@ -249,8 +264,12 @@

) - - β†’ None + {% if sphinx_version >= (3, 5) %} + β†’ + + None + {% else %} + β†’ None{% endif %} ΒΆ @@ -266,8 +285,14 @@

__match_args__ - - = () + {% if sphinx_version >= (3, 5) %} + + = + + + () + {% else %} + = (){% endif %} ΒΆ @@ -281,8 +306,14 @@

__module__ - - = 'tests.myproject' + {% if sphinx_version >= (3, 5) %} + + = + + + 'tests.myproject' + {% else %} + = 'tests.myproject'{% endif %} ΒΆ diff --git a/tests/test_directive_/test_output_36_index_html_.html b/tests/test_directive_/test_output_36_index_html_.html index 4735b58..637364d 100644 --- a/tests/test_directive_/test_output_36_index_html_.html +++ b/tests/test_directive_/test_output_36_index_html_.html @@ -30,8 +30,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. @@ -88,8 +91,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. diff --git a/tests/test_directive_/test_output_36_pypy_index_html_.html b/tests/test_directive_/test_output_36_pypy_index_html_.html index 4735b58..637364d 100644 --- a/tests/test_directive_/test_output_36_pypy_index_html_.html +++ b/tests/test_directive_/test_output_36_pypy_index_html_.html @@ -30,8 +30,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. @@ -88,8 +91,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. diff --git a/tests/test_directive_/test_output_37_index_html_.html b/tests/test_directive_/test_output_37_index_html_.html index 3517325..7b6cba3 100644 --- a/tests/test_directive_/test_output_37_index_html_.html +++ b/tests/test_directive_/test_output_37_index_html_.html @@ -30,8 +30,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. @@ -88,8 +91,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. @@ -136,8 +142,11 @@

- - class + {% if sphinx_version >= (3, 5) %} + + class + {% else %} + class{% endif %} tests.myproject. @@ -158,8 +167,14 @@

__dataclass_fields__ - - = {} + {% if sphinx_version >= (3, 5) %} + + = + + + {} + {% else %} + = {}{% endif %} ΒΆ @@ -173,8 +188,14 @@

__dataclass_params__ - - = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + {% if sphinx_version >= (3, 5) %} + + = + + + _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + {% else %} + = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False){% endif %} ΒΆ @@ -183,21 +204,6 @@

-
-
- - __dict__ - - - = mappingproxy({'__module__': 'tests.myproject', '__doc__': '\n\t\tMy Dataclass\n\t\t', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {}, '__init__': <function __create_fn__.<locals>.__init__>, '__repr__': <function __create_fn__.<locals>.__repr__>, '__eq__': <function __create_fn__.<locals>.__eq__>, '__hash__': None}) - - - ΒΆ - -
-
-
-
@@ -207,8 +213,11 @@

( - - other + {% if sphinx_version >= (3, 5) %} + + other + {% else %} + other{% endif %} @@ -229,8 +238,14 @@

__hash__ - - = None + {% if sphinx_version >= (3, 5) %} + + = + + + None + {% else %} + = None{% endif %} ΒΆ @@ -249,8 +264,12 @@

) - - β†’ None + {% if sphinx_version >= (3, 5) %} + β†’ + + None + {% else %} + β†’ None{% endif %} ΒΆ @@ -266,8 +285,14 @@

__module__ - - = 'tests.myproject' + {% if sphinx_version >= (3, 5) %} + + = + + + 'tests.myproject' + {% else %} + = 'tests.myproject'{% endif %} ΒΆ diff --git a/tests/test_directive_/test_output_37_pypy_index_html_.html b/tests/test_directive_/test_output_37_pypy_index_html_.html index 6015769..f6bc764 100644 --- a/tests/test_directive_/test_output_37_pypy_index_html_.html +++ b/tests/test_directive_/test_output_37_pypy_index_html_.html @@ -30,8 +30,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. @@ -88,8 +91,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. @@ -136,8 +142,11 @@

- - class + {% if sphinx_version >= (3, 5) %} + + class + {% else %} + class{% endif %} tests.myproject. @@ -158,8 +167,14 @@

__dataclass_fields__ - - = {} + {% if sphinx_version >= (3, 5) %} + + = + + + {} + {% else %} + = {}{% endif %} ΒΆ @@ -173,8 +188,14 @@

__dataclass_params__ - - = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + {% if sphinx_version >= (3, 5) %} + + = + + + _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + {% else %} + = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False){% endif %} ΒΆ @@ -183,21 +204,6 @@

-
-
- - __dict__ - - - = mappingproxy({'__module__': 'tests.myproject', '__doc__': '\n\t\tMy Dataclass\n\t\t', '__dict__': <getset_descriptor object>, '__weakref__': <getset_descriptor object>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {}, '__init__': <function __create_fn__.<locals>.__init__>, '__repr__': <function __create_fn__.<locals>.__repr__>, '__eq__': <function __create_fn__.<locals>.__eq__>, '__hash__': None}) - - - ΒΆ - -
-
-
-
@@ -207,8 +213,11 @@

( - - other + {% if sphinx_version >= (3, 5) %} + + other + {% else %} + other{% endif %} @@ -226,8 +235,14 @@

__hash__ - - = None + {% if sphinx_version >= (3, 5) %} + + = + + + None + {% else %} + = None{% endif %} ΒΆ @@ -246,8 +261,12 @@

) - - β†’ None + {% if sphinx_version >= (3, 5) %} + β†’ + + None + {% else %} + β†’ None{% endif %} ΒΆ @@ -260,8 +279,14 @@

__module__ - - = 'tests.myproject' + {% if sphinx_version >= (3, 5) %} + + = + + + 'tests.myproject' + {% else %} + = 'tests.myproject'{% endif %} ΒΆ @@ -293,8 +318,14 @@

__weakref__ - - = None + {% if sphinx_version >= (3, 5) %} + + = + + + None + {% else %} + = None{% endif %} ΒΆ diff --git a/tests/test_directive_/test_output_38_index_html_.html b/tests/test_directive_/test_output_38_index_html_.html index 3517325..7b6cba3 100644 --- a/tests/test_directive_/test_output_38_index_html_.html +++ b/tests/test_directive_/test_output_38_index_html_.html @@ -30,8 +30,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. @@ -88,8 +91,11 @@

- - fixture + {% if sphinx_version >= (3, 5) %} + + fixture + {% else %} + fixture{% endif %} coincidence.fixtures. @@ -136,8 +142,11 @@

- - class + {% if sphinx_version >= (3, 5) %} + + class + {% else %} + class{% endif %} tests.myproject. @@ -158,8 +167,14 @@

__dataclass_fields__ - - = {} + {% if sphinx_version >= (3, 5) %} + + = + + + {} + {% else %} + = {}{% endif %} ΒΆ @@ -173,8 +188,14 @@

__dataclass_params__ - - = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + {% if sphinx_version >= (3, 5) %} + + = + + + _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + {% else %} + = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False){% endif %} ΒΆ @@ -183,21 +204,6 @@

-
-
- - __dict__ - - - = mappingproxy({'__module__': 'tests.myproject', '__doc__': '\n\t\tMy Dataclass\n\t\t', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {}, '__init__': <function __create_fn__.<locals>.__init__>, '__repr__': <function __create_fn__.<locals>.__repr__>, '__eq__': <function __create_fn__.<locals>.__eq__>, '__hash__': None}) - - - ΒΆ - -
-
-
-
@@ -207,8 +213,11 @@

( - - other + {% if sphinx_version >= (3, 5) %} + + other + {% else %} + other{% endif %} @@ -229,8 +238,14 @@

__hash__ - - = None + {% if sphinx_version >= (3, 5) %} + + = + + + None + {% else %} + = None{% endif %} ΒΆ @@ -249,8 +264,12 @@

) - - β†’ None + {% if sphinx_version >= (3, 5) %} + β†’ + + None + {% else %} + β†’ None{% endif %} ΒΆ @@ -266,8 +285,14 @@

__module__ - - = 'tests.myproject' + {% if sphinx_version >= (3, 5) %} + + = + + + 'tests.myproject' + {% else %} + = 'tests.myproject'{% endif %} ΒΆ From e6a0d453523d3469f5701feba384759ecda7dd22 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 4 Apr 2022 20:29:48 +0100 Subject: [PATCH 035/109] Fix compatibility between older Sphinx and newer jinja2 --- formate.toml | 1 + requirements.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/formate.toml b/formate.toml index 1610918..762e00d 100644 --- a/formate.toml +++ b/formate.toml @@ -44,6 +44,7 @@ known_third_party = [ "pytest_timeout", "requests", "sphinx", + "sphinx_jinja2_compat", "sphinx_toolbox", ] known_first_party = "sphinx_autofixture" diff --git a/requirements.txt b/requirements.txt index db1874a..fb948ed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ domdf-python-tools>=1.5.0 sphinx<3.6.0,>=3.0.3 +sphinx-jinja2-compat>=0.1.2 From f8a183fb8c874702e9b8f26a5cddbec4213035cf Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 4 Apr 2022 20:34:22 +0100 Subject: [PATCH 036/109] Test on released version of Python 3.10 --- .github/workflows/python_ci.yml | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 5 ++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 50aa76d..a1fe1f2 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -20,7 +20,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.0-beta.4,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -30,7 +30,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} + - {python-version: "3.10", testenvs: "py310-dev-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 301fa45..c1628e1 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -21,7 +21,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.0-beta.4,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -31,7 +31,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} + - {python-version: "3.10", testenvs: "py310-dev-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 9f73eca..41270b3 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -20,7 +20,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.0-beta.4,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,pypy-3.7' strategy: fail-fast: False @@ -30,8 +30,7 @@ jobs: - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - - {python-version: "3.10.0-beta.4", testenvs: "py310-dev-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.10", testenvs: "py310-dev-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5},build", experimental: True} steps: From 6a56d3a2cc9f2f0b1447f94e7359f11c4d23ac49 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 22:11:04 +0100 Subject: [PATCH 037/109] Updated files with 'repo_helper'. (#38) 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/milestones.py | 28 +++++++++++ .github/workflows/cleanup.yml | 14 ------ .github/workflows/conda_ci.yml | 20 +++++--- .github/workflows/docs_test_action.yml | 3 +- .github/workflows/flake8.yml | 1 + .github/workflows/mypy.yml | 1 + .github/workflows/python_ci.yml | 2 + .github/workflows/python_ci_linux.yml | 64 +++++++++++++++++++++----- .github/workflows/python_ci_macos.yml | 2 + .pre-commit-config.yaml | 12 ++--- .pylintrc | 2 +- README.rst | 6 +-- __pkginfo__.py | 16 ------- doc-source/index.rst | 5 +- doc-source/requirements.txt | 2 +- pyproject.toml | 13 ++++++ tox.ini | 18 +++++--- 19 files changed, 141 insertions(+), 113 deletions(-) delete mode 100755 .github/actions_build_conda.sh delete mode 100755 .github/actions_deploy_conda.sh create mode 100755 .github/milestones.py delete mode 100644 .github/workflows/cleanup.yml delete mode 100644 __pkginfo__.py 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 e0c3bd7..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/sphinx-autofixture-*.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/milestones.py b/.github/milestones.py new file mode 100755 index 0000000..5e868dc --- /dev/null +++ b/.github/milestones.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +# stdlib +import os +import sys + +# 3rd party +from github3 import GitHub +from github3.repos import Repository +from packaging.version import InvalidVersion, Version + +latest_tag = os.environ["GITHUB_REF_NAME"] + +try: + current_version = Version(latest_tag) +except InvalidVersion: + sys.exit() + +gh: GitHub = GitHub(token=os.environ["GITHUB_TOKEN"]) +repo: Repository = gh.repository(*os.environ["GITHUB_REPOSITORY"].split('/', 1)) + +for milestone in repo.milestones(state="open"): + try: + milestone_version = Version(milestone.title) + except InvalidVersion: + continue + if milestone_version == current_version: + sys.exit(not milestone.update(state="closed")) diff --git a/.github/workflows/cleanup.yml b/.github/workflows/cleanup.yml deleted file mode 100644 index 741c0bd..0000000 --- a/.github/workflows/cleanup.yml +++ /dev/null @@ -1,14 +0,0 @@ -# This file is managed by 'repo_helper'. Don't edit it directly. ---- -name: Artefact Cleaner -on: - schedule: - - cron: 0 9 1 * * -jobs: - Clean: - runs-on: ubuntu-latest - steps: - - name: cleanup - uses: glassechidna/artifact-cleaner@v2 - with: - minimumAge: 1000000.0 diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 1f5dfdf..1a352a4 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -13,6 +13,9 @@ jobs: tests: name: "Conda" runs-on: ubuntu-18.04 + defaults: + run: + shell: bash -l {0} steps: - name: Checkout πŸ›ŽοΈ @@ -23,16 +26,20 @@ 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 whey-conda + 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 -q conda - $CONDA/bin/conda install conda-build=3.21.0 - + $CONDA/bin/conda update -n base conda $CONDA/bin/conda config --add channels conda-forge $CONDA/bin/conda config --add channels domdfcoding @@ -53,5 +60,6 @@ jobs: - name: "Run Tests" run: | rm -rf sphinx_autofixture - $CONDA/bin/pip install -r tests/requirements.txt - $CONDA/bin/pytest tests/ + $CONDA/bin/conda install pytest coincidence || exit 1 + pip install -r tests/requirements.txt + pytest tests/ diff --git a/.github/workflows/docs_test_action.yml b/.github/workflows/docs_test_action.yml index 8efbe64..d258e8d 100644 --- a/.github/workflows/docs_test_action.yml +++ b/.github/workflows/docs_test_action.yml @@ -6,6 +6,7 @@ on: branches-ignore: - 'repo-helper-update' - 'pre-commit-ci-update-config' + - 'imgbot' pull_request: permissions: @@ -16,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout πŸ›ŽοΈ - uses: "actions/checkout@v1" + uses: "actions/checkout@v2" - name: Check for changed files uses: dorny/paths-filter@v2 diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index f46a179..84e9436 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -7,6 +7,7 @@ on: branches-ignore: - 'repo-helper-update' - 'pre-commit-ci-update-config' + - 'imgbot' pull_request: permissions: diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index d6d4200..5a7324b 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -7,6 +7,7 @@ on: branches-ignore: - 'repo-helper-update' - 'pre-commit-ci-update-config' + - 'imgbot' pull_request: permissions: diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index a1fe1f2..5557608 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -7,11 +7,13 @@ on: branches-ignore: - 'repo-helper-update' - 'pre-commit-ci-update-config' + - 'imgbot' pull_request: permissions: actions: write + issues: write contents: read jobs: diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index c1628e1..5383e4a 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -7,12 +7,14 @@ on: branches-ignore: - 'repo-helper-update' - 'pre-commit-ci-update-config' + - 'imgbot' tags: - '*' pull_request: permissions: actions: write + issues: write contents: read jobs: @@ -100,21 +102,26 @@ jobs: path: coverage - name: Display structure of downloaded files + id: show run: ls -R working-directory: coverage + continue-on-error: true - name: Combine Coverage πŸ‘· + if: ${{ steps.show.outcome != 'failure' }} run: | shopt -s globstar python -m coverage combine coverage/**/.coverage - name: "Upload Combined Coverage Artefact πŸš€" + if: ${{ steps.show.outcome != 'failure' }} uses: actions/upload-artifact@v2 with: name: "combined-coverage" path: .coverage - name: "Upload Combined Coverage to Coveralls" + if: ${{ steps.show.outcome != 'failure' }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | @@ -131,21 +138,21 @@ jobs: - name: Setup Python 🐍 uses: "actions/setup-python@v2" + if: startsWith(github.ref, 'refs/tags/') with: python-version: 3.8 - if: startsWith(github.ref, 'refs/tags/') - name: Install dependencies πŸ”§ + if: startsWith(github.ref, 'refs/tags/') run: | python -m pip install --upgrade pip setuptools wheel python -m pip install --upgrade tox - if: startsWith(github.ref, 'refs/tags/') - name: Build distributions πŸ“¦ + if: startsWith(github.ref, 'refs/tags/') run: | tox -e build - if: startsWith(github.ref, 'refs/tags/') - name: Upload distribution to PyPI πŸš€ if: startsWith(github.ref, 'refs/tags/') @@ -155,6 +162,15 @@ jobs: password: ${{ secrets.PYPI_TOKEN }} skip_existing: true + - name: Close milestone πŸšͺ + if: startsWith(github.ref, 'refs/tags/') + run: | + python -m pip install --upgrade github3.py packaging + python .github/milestones.py + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + Conda: needs: deploy @@ -169,22 +185,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 + 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/sphinx-autofixture-*.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 41270b3..e7e6fc3 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -7,11 +7,13 @@ on: branches-ignore: - 'repo-helper-update' - 'pre-commit-ci-update-config' + - 'imgbot' pull_request: permissions: actions: write + issues: write contents: read jobs: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 16c0f2a..8266b14 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.1 + rev: v0.4.2 hooks: - id: reformat-pyproject @@ -30,7 +30,7 @@ repos: - id: end-of-file-fixer - repo: https://github.com/domdfcoding/pre-commit-hooks - rev: v0.2.1 + rev: v0.3.0 hooks: - id: requirements-txt-sorter args: @@ -40,7 +40,7 @@ repos: - id: bind-requirements - repo: https://github.com/domdfcoding/flake8-dunder-all - rev: v0.1.7 + rev: v0.1.8 hooks: - id: ensure-dunder-all files: ^sphinx_autofixture/.*\.py$ @@ -51,7 +51,7 @@ repos: - id: flake2lint - repo: https://github.com/pre-commit/pygrep-hooks - rev: v1.8.0 + rev: v1.9.0 hooks: - id: python-no-eval - id: rst-backticks @@ -67,13 +67,13 @@ repos: - --keep-runtime-typing - repo: https://github.com/Lucas-C/pre-commit-hooks - rev: v1.1.10 + rev: v1.1.11 hooks: - id: remove-crlf - id: forbid-crlf - repo: https://github.com/python-formate/snippet-fmt - rev: v0.1.3 + rev: v0.1.4 hooks: - id: snippet-fmt diff --git a/.pylintrc b/.pylintrc index a21206a..81ecba0 100644 --- a/.pylintrc +++ b/.pylintrc @@ -66,7 +66,7 @@ confidence= # no Warning level messages displayed, use"--disable=all --enable=classes # --disable=W" disable=all -enable=assert-on-tuple,astroid-error,bad-except-order,bad-inline-option,bad-option-value,bad-reversed-sequence,bare-except,binary-op-exception,boolean-datetime,catching-non-exception,cell-var-from-loop,confusing-with-statement,consider-merging-isinstance,consider-using-enumerate,consider-using-ternary,continue-in-finally,cyclic-import,deprecated-pragma,django-not-available,duplicate-except,duplicate-key,eval-used,exec-used,expression-not-assigned,fatal,file-ignored,fixme,global-at-module-level,global-statement,global-variable-not-assigned,global-variable-undefined,http-response-with-content-type-json,http-response-with-json-dumps,invalid-all-object,invalid-characters-in-docstring,len-as-condition,literal-comparison,locally-disabled,locally-enabled,lost-exception,lowercase-l-suffix,misplaced-bare-raise,missing-kwoa,mixed-line-endings,model-has-unicode,model-missing-unicode,model-no-explicit-unicode,model-unicode-not-callable,multiple-imports,new-db-field-with-default,non-ascii-bytes-literals,nonexistent-operator,not-in-loop,notimplemented-raised,overlapping-except,parse-error,pointless-statement,pointless-string-statement,raising-bad-type,raising-non-exception,raw-checker-failed,redefine-in-handler,redefined-argument-from-local,redefined-builtin,redundant-content-type-for-json-response,reimported,relative-import,return-outside-function,simplifiable-if-statement,singleton-comparison,syntax-error,trailing-comma-tuple,trailing-newlines,unbalanced-tuple-unpacking,undefined-all-variable,undefined-loop-variable,unexpected-line-ending-format,unidiomatic-typecheck,unnecessary-lambda,unnecessary-pass,unnecessary-semicolon,unneeded-not,unpacking-non-sequence,unreachable,unrecognized-inline-option,used-before-assignment,useless-else-on-loop,using-constant-test,wildcard-import,yield-outside-function,useless-return +enable=assert-on-tuple,astroid-error,bad-except-order,bad-inline-option,bad-option-value,bad-reversed-sequence,bare-except,binary-op-exception,boolean-datetime,catching-non-exception,cell-var-from-loop,confusing-with-statement,consider-merging-isinstance,consider-using-enumerate,consider-using-ternary,continue-in-finally,deprecated-pragma,django-not-available,duplicate-except,duplicate-key,eval-used,exec-used,expression-not-assigned,fatal,file-ignored,fixme,global-at-module-level,global-statement,global-variable-not-assigned,global-variable-undefined,http-response-with-content-type-json,http-response-with-json-dumps,invalid-all-object,invalid-characters-in-docstring,len-as-condition,literal-comparison,locally-disabled,locally-enabled,lost-exception,lowercase-l-suffix,misplaced-bare-raise,missing-kwoa,mixed-line-endings,model-has-unicode,model-missing-unicode,model-no-explicit-unicode,model-unicode-not-callable,multiple-imports,new-db-field-with-default,non-ascii-bytes-literals,nonexistent-operator,not-in-loop,notimplemented-raised,overlapping-except,parse-error,pointless-statement,pointless-string-statement,raising-bad-type,raising-non-exception,raw-checker-failed,redefine-in-handler,redefined-argument-from-local,redefined-builtin,redundant-content-type-for-json-response,reimported,relative-import,return-outside-function,simplifiable-if-statement,singleton-comparison,syntax-error,trailing-comma-tuple,trailing-newlines,unbalanced-tuple-unpacking,undefined-all-variable,undefined-loop-variable,unexpected-line-ending-format,unidiomatic-typecheck,unnecessary-lambda,unnecessary-pass,unnecessary-semicolon,unneeded-not,unpacking-non-sequence,unreachable,unrecognized-inline-option,used-before-assignment,useless-else-on-loop,using-constant-test,wildcard-import,yield-outside-function,useless-return [REPORTS] diff --git a/README.rst b/README.rst index 394753f..5bcb872 100644 --- a/README.rst +++ b/README.rst @@ -63,8 +63,8 @@ and `the documentation for coincidence`_ for an example with the ReadTheDocs the :target: https://github.com/sphinx-toolbox/sphinx-autofixture/actions?query=workflow%3A%22mypy%22 :alt: mypy status -.. |requires| image:: https://requires.io/github/sphinx-toolbox/sphinx-autofixture/requirements.svg?branch=master - :target: https://requires.io/github/sphinx-toolbox/sphinx-autofixture/requirements/?branch=master +.. |requires| image:: https://dependency-dash.herokuapp.com/github/sphinx-toolbox/sphinx-autofixture/badge.svg + :target: https://dependency-dash.herokuapp.com/github/sphinx-toolbox/sphinx-autofixture/ :alt: Requirements Status .. |coveralls| image:: https://img.shields.io/coveralls/github/sphinx-toolbox/sphinx-autofixture/master?logo=coveralls @@ -114,7 +114,7 @@ and `the documentation for coincidence`_ for an example with the ReadTheDocs the :target: https://github.com/sphinx-toolbox/sphinx-autofixture/commit/master :alt: GitHub last commit -.. |maintained| image:: https://img.shields.io/maintenance/yes/2021 +.. |maintained| image:: https://img.shields.io/maintenance/yes/2022 :alt: Maintenance .. |pypi-downloads| image:: https://img.shields.io/pypi/dm/sphinx-autofixture diff --git a/__pkginfo__.py b/__pkginfo__.py deleted file mode 100644 index ea4ef04..0000000 --- a/__pkginfo__.py +++ /dev/null @@ -1,16 +0,0 @@ -# This file is managed by 'repo_helper'. Don't edit it directly. -# Copyright Β© 2020 Dominic Davis-Foster -# -# This file is distributed under the same license terms as the program it came with. -# There will probably be a file called LICEN[S/C]E in the same directory as this file. -# -# In any case, this program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# This script based on https://github.com/rocky/python-uncompyle6/blob/master/__pkginfo__.py -# - -__all__ = ["extras_require"] - -extras_require = {} diff --git a/doc-source/index.rst b/doc-source/index.rst index b0a65a2..1882be3 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -60,7 +60,8 @@ sphinx-autofixture :workflow: mypy :alt: mypy status - .. |requires| requires-io-shield:: + .. |requires| image:: https://dependency-dash.herokuapp.com/github/sphinx-toolbox/sphinx-autofixture/badge.svg + :target: https://dependency-dash.herokuapp.com/github/sphinx-toolbox/sphinx-autofixture/ :alt: Requirements Status .. |coveralls| coveralls-shield:: @@ -113,7 +114,7 @@ sphinx-autofixture :last-commit: :alt: GitHub last commit - .. |maintained| maintained-shield:: 2021 + .. |maintained| maintained-shield:: 2022 :alt: Maintenance .. |pypi-downloads| pypi-shield:: diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index f42936b..83fa3e2 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -1,8 +1,8 @@ -git+https://github.com/sphinx-toolbox/html-section.git default-values>=0.5.0 domdf-python-tools[testing]>=1.5.0 extras-require>=0.2.0 furo>=2020.11.19b18 +html-section>=0.1.0 seed-intersphinx-mapping>=0.3.1 sphinx-copybutton>=0.2.12 sphinx-debuginfo>=0.1.0 diff --git a/pyproject.toml b/pyproject.toml index 4ddc4c3..596c57f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,6 +73,7 @@ extensions = [ "sphinx_debuginfo", "sphinx_licenseinfo", "seed_intersphinx_mapping", + "html_section", "sphinx_autofixture", "html_section", ] @@ -131,10 +132,22 @@ namespace_packages = true check_untyped_defs = true warn_unused_ignores = true no_implicit_optional = true +show_error_codes = true [tool.snippet-fmt] directives = [ "code-block",] +[tool.dependency-dash."requirements.txt"] +order = 10 + +[tool.dependency-dash."tests/requirements.txt"] +order = 20 +include = false + +[tool.dependency-dash."doc-source/requirements.txt"] +order = 30 +include = false + [tool.snippet-fmt.languages.python] reformat = true diff --git a/tox.ini b/tox.ini index b6b7c06..1b2bd2d 100644 --- a/tox.ini +++ b/tox.ini @@ -29,9 +29,8 @@ envlist = skip_missing_interpreters = True isolated_build = True requires = - pip>=20.3.3 + pip>=21 tox-envlist>=0.2.1 - tox-pip-version>=0.0.7 [envlists] test = @@ -46,7 +45,9 @@ qa = mypy, lint cov = py36-sphinx3.2, coverage [testenv] -setenv = PYTHONDEVMODE = 1 +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 deps = -r{toxinidir}/tests/requirements.txt sphinx3.2: sphinx~=3.2.0 @@ -60,7 +61,6 @@ commands = [testenv:docs] setenv = SHOW_TODOS = 1 basepython = python3.8 -pip_version = pip>=21 changedir = {toxinidir}/doc-source deps = -r{toxinidir}/doc-source/requirements.txt commands = sphinx-build -M {env:SPHINX_BUILDER:html} . ./build {posargs} @@ -90,15 +90,17 @@ deps = 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-pytest-style>=1.3.0 + flake8-quotes>=3.3.0 flake8-slots>=0.1.0 flake8-sphinx-links>=0.0.4 flake8-strftime>=0.1.1 flake8-typing-imports>=1.10.0 - git+https://github.com/domdfcoding/flake8-quotes.git 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 pydocstyle>=6.0.0 pygments>=2.7.1 importlib_metadata<4.5.0; python_version<'3.8' @@ -142,7 +144,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 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 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 extend-exclude = doc-source,old,build,dist,__pkginfo__.py,setup.py,venv rst-directives = TODO @@ -160,6 +162,10 @@ multiline-quotes = """ docstring-quotes = """ count = True min_python_version = 3.6.1 +unused-arguments-ignore-abstract-functions = True +unused-arguments-ignore-overload-functions = True +unused-arguments-ignore-magic-methods = True +unused-arguments-ignore-variadic-names = True [coverage:run] plugins = coverage_pyver_pragma From 611c6633733efe5c69a510205ffc7b28fa0d7cac Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 4 Apr 2022 22:14:38 +0100 Subject: [PATCH 038/109] Bump mypy version --- repo_helper.yml | 1 - sphinx_autofixture/__init__.py | 6 +++--- tox.ini | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/repo_helper.yml b/repo_helper.yml index fd7be53..c03042a 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -11,7 +11,6 @@ version: '0.2.3' license: 'MIT' short_desc: 'Sphinx autodocumenter for pytest fixtures.' -mypy_version: "0.910" use_whey: true sphinx_html_theme: furo preserve_custom_theme: true diff --git a/sphinx_autofixture/__init__.py b/sphinx_autofixture/__init__.py index 607eb31..121aa40 100644 --- a/sphinx_autofixture/__init__.py +++ b/sphinx_autofixture/__init__.py @@ -56,7 +56,7 @@ class FixtureDecoratorFinder(ast.NodeVisitor): :class:`ast.NodeVisitor` for finding pytest fixtures. """ - def __init__(self): + def __init__(self) -> None: #: Is the function a fixture? self.is_fixture = False @@ -187,7 +187,7 @@ def add_directive_header(self, sig: str = '') -> None: ) -def validate_config(app: Sphinx, config: Config): +def validate_config(app: Sphinx, config: Config) -> None: r""" Validate the provided configuration values. @@ -202,7 +202,7 @@ def validate_config(app: Sphinx, config: Config): rst_prolog = StringList(rst_prolog) rst_prolog.append(nbsp_sub) - config.rst_prolog = str(rst_prolog) # type: ignore + config.rst_prolog = str(rst_prolog) # type: ignore[attr-defined] def setup(app: Sphinx) -> Dict[str, Any]: diff --git a/tox.ini b/tox.ini index 1b2bd2d..7c4bea1 100644 --- a/tox.ini +++ b/tox.ini @@ -111,7 +111,7 @@ basepython = python3.6 ignore_errors = True changedir = {toxinidir} deps = - mypy==0.910 + mypy==0.942 -r{toxinidir}/tests/requirements.txt -r{toxinidir}/stubs.txt commands = mypy sphinx_autofixture tests {posargs} From 52c8664e45a49d94f2ccecc1614c46e158705fa7 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 4 Apr 2022 22:14:54 +0100 Subject: [PATCH 039/109] Require 95% coverage --- repo_helper.yml | 1 + tox.ini | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/repo_helper.yml b/repo_helper.yml index c03042a..15e7ffc 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -14,6 +14,7 @@ short_desc: 'Sphinx autodocumenter for pytest fixtures.' use_whey: true sphinx_html_theme: furo preserve_custom_theme: true +min_coverage: 95 python_versions: - 3.6 diff --git a/tox.ini b/tox.ini index 7c4bea1..e185474 100644 --- a/tox.ini +++ b/tox.ini @@ -171,7 +171,7 @@ unused-arguments-ignore-variadic-names = True plugins = coverage_pyver_pragma [coverage:report] -fail_under = 80 +fail_under = 95 exclude_lines = raise AssertionError raise NotImplementedError From a09006406be25a9c778177710792729556d61e1c Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 4 Apr 2022 22:29:46 +0100 Subject: [PATCH 040/109] Bump version v0.2.3 -> v0.3.0 --- .bumpversion.cfg | 2 +- .github/workflows/conda_ci.yml | 2 +- README.rst | 2 +- doc-source/index.rst | 2 +- pyproject.toml | 5 ++++- repo_helper.yml | 2 +- sphinx_autofixture/__init__.py | 2 +- 7 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index f66a776..58a142c 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.2.3 +current_version = 0.3.0 commit = True tag = True diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 1a352a4..4b057f6 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -55,7 +55,7 @@ jobs: - name: "Install package" run: | - $CONDA/bin/conda install -c file://$(pwd)/conda-bld sphinx-autofixture=0.2.3=py_1 -y || exit 1 + $CONDA/bin/conda install -c file://$(pwd)/conda-bld sphinx-autofixture=0.3.0=py_1 -y || exit 1 - name: "Run Tests" run: | diff --git a/README.rst b/README.rst index 5bcb872..6d7c149 100644 --- a/README.rst +++ b/README.rst @@ -106,7 +106,7 @@ and `the documentation for coincidence`_ for an example with the ReadTheDocs the .. |language| image:: https://img.shields.io/github/languages/top/sphinx-toolbox/sphinx-autofixture :alt: GitHub top language -.. |commits-since| image:: https://img.shields.io/github/commits-since/sphinx-toolbox/sphinx-autofixture/v0.2.3 +.. |commits-since| image:: https://img.shields.io/github/commits-since/sphinx-toolbox/sphinx-autofixture/v0.3.0 :target: https://github.com/sphinx-toolbox/sphinx-autofixture/pulse :alt: GitHub commits since tagged version diff --git a/doc-source/index.rst b/doc-source/index.rst index 1882be3..88fee8b 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -107,7 +107,7 @@ sphinx-autofixture :alt: GitHub top language .. |commits-since| github-shield:: - :commits-since: v0.2.3 + :commits-since: v0.3.0 :alt: GitHub commits since tagged version .. |commits-latest| github-shield:: diff --git a/pyproject.toml b/pyproject.toml index 596c57f..e8dc9ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "whey" [project] name = "sphinx-autofixture" -version = "0.2.3" +version = "0.3.0" description = "Sphinx autodocumenter for pytest fixtures." readme = "README.rst" keywords = [ "documentation", "pytest", "sphinx", "sphinx-extension",] @@ -137,6 +137,9 @@ show_error_codes = true [tool.snippet-fmt] directives = [ "code-block",] +[tool.dep_checker] +allowed_unused = [ "sphinx_jinja2_compat",] + [tool.dependency-dash."requirements.txt"] order = 10 diff --git a/repo_helper.yml b/repo_helper.yml index 15e7ffc..0ce46cd 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -7,7 +7,7 @@ email: 'dominic@davis-foster.co.uk' username: "sphinx-toolbox" assignee: "domdfcoding" primary_conda_channel: 'domdfcoding' -version: '0.2.3' +version: '0.3.0' license: 'MIT' short_desc: 'Sphinx autodocumenter for pytest fixtures.' diff --git a/sphinx_autofixture/__init__.py b/sphinx_autofixture/__init__.py index 121aa40..e470b53 100644 --- a/sphinx_autofixture/__init__.py +++ b/sphinx_autofixture/__init__.py @@ -45,7 +45,7 @@ __author__: str = "Dominic Davis-Foster" __copyright__: str = "2020 Dominic Davis-Foster" __license__: str = "MIT License" -__version__: str = "0.2.3" +__version__: str = "0.3.0" __email__: str = "dominic@davis-foster.co.uk" __all__ = ["FixtureDecoratorFinder", "FixtureDocumenter", "is_fixture", "setup"] From 30fc5d7dd8ed02a6101b6a5503f860646e82996f Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Fri, 19 Aug 2022 13:42:08 +0100 Subject: [PATCH 041/109] Update tests for newer docutils versions. --- tests/test_directive_/test_output_310_index_html_.html | 8 +++++--- tests/test_directive_/test_output_36_index_html_.html | 8 +++++--- .../test_directive_/test_output_36_pypy_index_html_.html | 8 +++++--- tests/test_directive_/test_output_37_index_html_.html | 8 +++++--- .../test_directive_/test_output_37_pypy_index_html_.html | 8 +++++--- tests/test_directive_/test_output_38_index_html_.html | 8 +++++--- tox.ini | 1 + 7 files changed, 31 insertions(+), 18 deletions(-) diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index 0ab82d0..c132d4a 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -3,7 +3,9 @@ - + {% if docutils_version >= (0, 18) %}<meta content="Docutils 0.18.1: http://docutils.sourceforge.net/" name="generator"/> + {% elif docutils_version >= (0, 17) %}<meta content="Docutils 0.17.1: http://docutils.sourceforge.net/" name="generator"/> + {% endif %}<title> sphinx-autofixture Demo β€” Python documentation + {% if sphinx_version >= (5, 0) %} + {% endif %} @@ -26,24 +37,21 @@ <{% if docutils_version >= (0, 17) %}section{% else %}div class="section"{% endif %} id="sphinx-autofixture-demo">

sphinx-autofixture Demo - + ΒΆ

-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} + + + {{ span_pre("fixture", " ", (3, 5)) }} - - coincidence.fixtures. - - - tmp_pathplus - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("coincidence.fixtures.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("tmp_pathplus", " ") }} + ΒΆ @@ -92,19 +100,16 @@

-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} + + + {{ span_pre("fixture", " ", (3, 5)) }} - - coincidence.fixtures. - - - tmp_pathplus - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("coincidence.fixtures.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("tmp_pathplus", " ") }} +

@@ -143,19 +148,16 @@

-
- {% if sphinx_version >= (3, 5) %} - - class - {% else %} - class{% endif %} + + + {{ span_pre("class", " ", (3, 5)) }} - - tests.myproject. - - - A - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("A", " ") }} + ΒΆ @@ -165,11 +167,11 @@

My Dataclass

-
- - __dataclass_fields__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__dataclass_fields__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -186,11 +188,11 @@

-
- - __dataclass_params__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__dataclass_params__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -207,19 +209,16 @@

-
- - __eq__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__eq__", " ") }} + ( - {% if sphinx_version >= (3, 5) %} - - other - {% else %} - other{% endif %} + + {{ span_pre("other", " ", (3, 5)) }} @@ -236,11 +235,11 @@

-
- - __hash__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__hash__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -257,16 +256,26 @@

-
- - __init__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__init__", " ") }} + ( ) - {% if sphinx_version >= (3, 5) %} + {% if sphinx_version >= (4, 1) %} + + + β†’ + + + + None + + + {% elif sphinx_version >= (3, 5) %} β†’ None @@ -276,18 +285,18 @@

ΒΆ

-
+
{% if sphinx_version < (4, 1) %}

Initialize self. See help(type(self)) for accurate signature. -

+

{% endif %}
-
- - __match_args__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__match_args__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -304,11 +313,11 @@

-
- - __module__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__module__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -325,10 +334,10 @@

-
- - __repr__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__repr__", " ") }} + ( @@ -346,10 +355,10 @@

-
- - __weakref__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__weakref__", " ") }} + ΒΆ @@ -363,13 +372,13 @@

-
- - tests.myproject. - - - baz - + + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("baz", " ") }} + ( @@ -387,13 +396,13 @@

-
- - tests.myproject. - - - fizbuzz - + + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("fizbuzz", " ") }} + ( diff --git a/tests/test_directive_/test_output_36_index_html_.html b/tests/test_directive_/test_output_36_index_html_.html index 8ad895e..e172fd1 100644 --- a/tests/test_directive_/test_output_36_index_html_.html +++ b/tests/test_directive_/test_output_36_index_html_.html @@ -1,5 +1,14 @@ +{% macro span_pre(text, indent='', min_version=(4, 0)) -%} +{% if sphinx_version >= min_version %} +{{ indent }} {{ text }} +{{ indent }}{% else %}{{ text }}{% endif %} +{%- endmacro -%} +{% set heading = ("heading" if sphinx_version >= (5, 0) else 'headline') -%} +{% set sig_prename_tag=("span" if sphinx_version >= (4, 0) else 'code') -%} +{% set sig_object_class=(' class="sig sig-object py"' if sphinx_version >= (4, 0) else '') -%} +{% set section = ("section", "section") if docutils_version >= (0, 17) else ('div class="section"', "div") -%} - += (5, 0) %} lang="en"{% endif %}> @@ -13,7 +22,9 @@ + {% if sphinx_version >= (5, 0) %} + {% endif %} @@ -26,24 +37,21 @@ <{% if docutils_version >= (0, 17) %}section{% else %}div class="section"{% endif %} id="sphinx-autofixture-demo">

sphinx-autofixture Demo - + ΒΆ

-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} + + + {{ span_pre("fixture", " ", (3, 5)) }} - - coincidence.fixtures. - - - tmp_pathplus - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("coincidence.fixtures.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("tmp_pathplus", " ") }} + ΒΆ @@ -92,19 +100,16 @@

-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} + + + {{ span_pre("fixture", " ", (3, 5)) }} - - coincidence.fixtures. - - - tmp_pathplus - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("coincidence.fixtures.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("tmp_pathplus", " ") }} +

@@ -143,13 +148,13 @@

-
- - tests.myproject. - - - baz - + + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("baz", " ") }} + ( @@ -167,13 +172,13 @@

-
- - tests.myproject. - - - fizbuzz - + + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("fizbuzz", " ") }} + ( diff --git a/tests/test_directive_/test_output_36_pypy_index_html_.html b/tests/test_directive_/test_output_36_pypy_index_html_.html index 8ad895e..b6853cf 100644 --- a/tests/test_directive_/test_output_36_pypy_index_html_.html +++ b/tests/test_directive_/test_output_36_pypy_index_html_.html @@ -1,5 +1,14 @@ +{% macro span_pre(text, indent='') -%} +{% if sphinx_version >= (3, 5) %} +{{ indent }} {{ text }} +{{ indent }}{% else %}{{ text }}{% endif %} +{%- endmacro -%} +{% set heading = ("heading" if sphinx_version >= (5, 0) else 'headline') -%} +{% set sig_prename_tag=("span" if sphinx_version >= (4, 0) else 'code') -%} +{% set sig_object_class=(' class="sig sig-object py"' if sphinx_version >= (4, 0) else '') -%} +{% set section = ("section", "section") if docutils_version >= (0, 17) else ('div class="section"', "div") -%} - += (5, 0) %} lang="en"{% endif %}> @@ -13,7 +22,9 @@ + {% if sphinx_version >= (5, 0) %} + {% endif %} @@ -26,24 +37,21 @@ <{% if docutils_version >= (0, 17) %}section{% else %}div class="section"{% endif %} id="sphinx-autofixture-demo">

sphinx-autofixture Demo - + ΒΆ

-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} + + + {{ span_pre("fixture", " ") }} - + <{{ sig_prename_tag }} class="sig-prename descclassname"> coincidence.fixtures. - - + + <{{ sig_prename_tag }} class="sig-name descname"> tmp_pathplus - + ΒΆ @@ -92,19 +100,16 @@

-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} + + + {{ span_pre("fixture", " ") }} - + <{{ sig_prename_tag }} class="sig-prename descclassname"> coincidence.fixtures. - - + + <{{ sig_prename_tag }} class="sig-name descname"> tmp_pathplus - +

@@ -143,13 +148,13 @@

-
- + + <{{ sig_prename_tag }} class="sig-prename descclassname"> tests.myproject. - - + + <{{ sig_prename_tag }} class="sig-name descname"> baz - + ( @@ -167,13 +172,13 @@

-
- + + <{{ sig_prename_tag }} class="sig-prename descclassname"> tests.myproject. - - + + <{{ sig_prename_tag }} class="sig-name descname"> fizbuzz - + ( diff --git a/tests/test_directive_/test_output_37_index_html_.html b/tests/test_directive_/test_output_37_index_html_.html index 80751a9..97ee6e3 100644 --- a/tests/test_directive_/test_output_37_index_html_.html +++ b/tests/test_directive_/test_output_37_index_html_.html @@ -1,5 +1,14 @@ +{% macro span_pre(text, indent='', min_version=(4, 0)) -%} +{% if sphinx_version >= min_version %} +{{ indent }} {{ text }} +{{ indent }}{% else %}{{ text }}{% endif %} +{%- endmacro -%} +{% set heading = ("heading" if sphinx_version >= (5, 0) else 'headline') -%} +{% set sig_prename_tag=("span" if sphinx_version >= (4, 0) else 'code') -%} +{% set sig_object_class=(' class="sig sig-object py"' if sphinx_version >= (4, 0) else '') -%} +{% set section = ("section", "section") if docutils_version >= (0, 17) else ('div class="section"', "div") -%} - += (5, 0) %} lang="en"{% endif %}> @@ -13,7 +22,9 @@ + {% if sphinx_version >= (5, 0) %} + {% endif %} @@ -26,24 +37,21 @@ <{% if docutils_version >= (0, 17) %}section{% else %}div class="section"{% endif %} id="sphinx-autofixture-demo">

sphinx-autofixture Demo - + ΒΆ

-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} + + + {{ span_pre("fixture", " ", (3, 5)) }} - - coincidence.fixtures. - - - tmp_pathplus - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("coincidence.fixtures.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("tmp_pathplus", " ") }} + ΒΆ @@ -92,19 +100,16 @@

-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} + + + {{ span_pre("fixture", " ", (3, 5)) }} - - coincidence.fixtures. - - - tmp_pathplus - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("coincidence.fixtures.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("tmp_pathplus", " ") }} +

@@ -143,19 +148,16 @@

-
- {% if sphinx_version >= (3, 5) %} - - class - {% else %} - class{% endif %} + + + {{ span_pre("class", " ", (3, 5)) }} - - tests.myproject. - - - A - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("A", " ") }} + ΒΆ @@ -165,11 +167,11 @@

My Dataclass

-
- - __dataclass_fields__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__dataclass_fields__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -186,11 +188,11 @@

-
- - __dataclass_params__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__dataclass_params__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -207,19 +209,16 @@

-
- - __eq__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__eq__", " ") }} + ( - {% if sphinx_version >= (3, 5) %} - - other - {% else %} - other{% endif %} + + {{ span_pre("other", " ", (3, 5)) }} @@ -236,11 +235,11 @@

-
- - __hash__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__hash__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -257,16 +256,26 @@

-
- - __init__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__init__", " ") }} + ( ) - {% if sphinx_version >= (3, 5) %} + {% if sphinx_version >= (4, 1) %} + + + β†’ + + + + None + + + {% elif sphinx_version >= (3, 5) %} β†’ None @@ -276,18 +285,18 @@

ΒΆ

-
+
{% if sphinx_version < (4, 1) %}

Initialize self. See help(type(self)) for accurate signature. -

+

{% endif %}
-
- - __module__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__module__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -304,10 +313,10 @@

-
- - __repr__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__repr__", " ") }} + ( @@ -325,10 +334,10 @@

-
- - __weakref__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__weakref__", " ") }} + ΒΆ @@ -342,13 +351,13 @@

-
- - tests.myproject. - - - baz - + + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("baz", " ") }} + ( @@ -366,13 +375,13 @@

-
- - tests.myproject. - - - fizbuzz - + + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("fizbuzz", " ") }} + ( diff --git a/tests/test_directive_/test_output_37_pypy_index_html_.html b/tests/test_directive_/test_output_37_pypy_index_html_.html index 2961770..d38484b 100644 --- a/tests/test_directive_/test_output_37_pypy_index_html_.html +++ b/tests/test_directive_/test_output_37_pypy_index_html_.html @@ -1,5 +1,14 @@ +{% macro span_pre(text, indent='', min_version=(4, 0)) -%} +{% if sphinx_version >= min_version %} +{{ indent }} {{ text }} +{{ indent }}{% else %}{{ text }}{% endif %} +{%- endmacro -%} +{% set heading = ("heading" if sphinx_version >= (5, 0) else 'headline') -%} +{% set sig_prename_tag=("span" if sphinx_version >= (4, 0) else 'code') -%} +{% set sig_object_class=(' class="sig sig-object py"' if sphinx_version >= (4, 0) else '') -%} +{% set section = ("section", "section") if docutils_version >= (0, 17) else ('div class="section"', "div") -%} - += (5, 0) %} lang="en"{% endif %}> @@ -13,7 +22,9 @@ + {% if sphinx_version >= (5, 0) %} + {% endif %} @@ -26,24 +37,21 @@ <{% if docutils_version >= (0, 17) %}section{% else %}div class="section"{% endif %} id="sphinx-autofixture-demo">

sphinx-autofixture Demo - + ΒΆ

-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} + + + {{ span_pre("fixture", " ", (3, 5)) }} - - coincidence.fixtures. - - - tmp_pathplus - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("coincidence.fixtures.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("tmp_pathplus", " ") }} + ΒΆ @@ -92,19 +100,16 @@

-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} + + + {{ span_pre("fixture", " ", (3, 5)) }} - - coincidence.fixtures. - - - tmp_pathplus - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("coincidence.fixtures.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("tmp_pathplus", " ") }} +

@@ -143,19 +148,16 @@

-
- {% if sphinx_version >= (3, 5) %} - - class - {% else %} - class{% endif %} + + + {{ span_pre("class", " ", (3, 5)) }} - - tests.myproject. - - - A - + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("A", " ") }} + ΒΆ @@ -165,11 +167,11 @@

My Dataclass

-
- - __dataclass_fields__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__dataclass_fields__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -186,11 +188,11 @@

-
- - __dataclass_params__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__dataclass_params__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -207,19 +209,16 @@

-
- - __eq__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__eq__", " ") }} + ( - {% if sphinx_version >= (3, 5) %} - - other - {% else %} - other{% endif %} + + {{ span_pre("other", " ", (3, 5)) }} @@ -233,11 +232,11 @@

-
- - __hash__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__hash__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -254,16 +253,26 @@

-
- - __init__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__init__", " ") }} + ( ) - {% if sphinx_version >= (3, 5) %} + {% if sphinx_version >= (4, 1) %} + + + β†’ + + + + None + + + {% elif sphinx_version >= (3, 5) %} β†’ None @@ -277,11 +286,11 @@

-
- - __module__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__module__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -298,10 +307,10 @@

-
- - __repr__ - + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__repr__", " ") }} + ( @@ -316,11 +325,11 @@

-
- - __weakref__ - - {% if sphinx_version >= (3, 5) %} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("__weakref__", " ") }} + + {% if (3, 5) <= sphinx_version < (4, 3) %} = @@ -339,13 +348,13 @@

-
- - tests.myproject. - - - baz - + + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("baz", " ") }} + ( @@ -363,13 +372,13 @@

-
- - tests.myproject. - - - fizbuzz - + + <{{ sig_prename_tag }} class="sig-prename descclassname"> + {{ span_pre("tests.myproject.", " ") }} + + <{{ sig_prename_tag }} class="sig-name descname"> + {{ span_pre("fizbuzz", " ") }} + ( diff --git a/tests/test_directive_/test_output_38_index_html_.html b/tests/test_directive_/test_output_38_index_html_.html deleted file mode 100644 index 80751a9..0000000 --- a/tests/test_directive_/test_output_38_index_html_.html +++ /dev/null @@ -1,400 +0,0 @@ - - - - - - {% if docutils_version >= (0, 18) %} - {% elif docutils_version >= (0, 17) %} - {% endif %} - sphinx-autofixture Demo β€” Python documentation - - - - - - - - -
-
-
-
- <{% if docutils_version >= (0, 17) %}section{% else %}div class="section"{% endif %} id="sphinx-autofixture-demo"> -

- sphinx-autofixture Demo - - ΒΆ - -

-
-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} - - - coincidence.fixtures. - - - tmp_pathplus - - - ΒΆ - -
-
-

- - Scope: - - function -

-

- Pytest fixture which returns a temporary directory in the form of a - - - PathPlus - - - object. -

-

- The directory is unique to each test function invocation, -created as a sub directory of the base temporary directory. -

-

- Use it as follows: -

-
-
-
pytest_plugins = ("coincidence", )
-
-def test_something(tmp_pathplus: PathPlus):
-        assert True
-
-
-
-
-
-

- - - - coincidence.fixtures.tmp_pathplus - - - -

-
-
- {% if sphinx_version >= (3, 5) %} - - fixture - {% else %} - fixture{% endif %} - - - coincidence.fixtures. - - - tmp_pathplus - -
-
-

- - Scope: - - function -

-

- Pytest fixture which returns a temporary directory in the form of a - - - PathPlus - - - object. -

-

- The directory is unique to each test function invocation, -created as a sub directory of the base temporary directory. -

-

- Use it as follows: -

-
-
-
pytest_plugins = ("coincidence", )
-
-def test_something(tmp_pathplus: PathPlus):
-        assert True
-
-
-
-
-
- - -
-
- {% if sphinx_version >= (3, 5) %} - - class - {% else %} - class{% endif %} - - - tests.myproject. - - - A - - - ΒΆ - -
-
-

- My Dataclass -

-
-
- - __dataclass_fields__ - - {% if sphinx_version >= (3, 5) %} - - = - - - {} - {% else %} - = {}{% endif %} - - - ΒΆ - -
-
-
-
-
-
- - __dataclass_params__ - - {% if sphinx_version >= (3, 5) %} - - = - - - _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) - {% else %} - = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False){% endif %} - - - ΒΆ - -
-
-
-
-
-
- - __eq__ - - - ( - - - {% if sphinx_version >= (3, 5) %} - - other - {% else %} - other{% endif %} - - - - ) - - - ΒΆ - -
-
-

- Return self==value. -

-
-
-
-
- - __hash__ - - {% if sphinx_version >= (3, 5) %} - - = - - - None - {% else %} - = None{% endif %} - - - ΒΆ - -
-
-
-
-
-
- - __init__ - - - ( - - - ) - {% if sphinx_version >= (3, 5) %} - β†’ - - None - {% else %} - β†’ None{% endif %} - - ΒΆ - -
-
-

- Initialize self. See help(type(self)) for accurate signature. -

-
-
-
-
- - __module__ - - {% if sphinx_version >= (3, 5) %} - - = - - - 'tests.myproject' - {% else %} - = 'tests.myproject'{% endif %} - - - ΒΆ - -
-
-
-
-
-
- - __repr__ - - - ( - - - ) - - - ΒΆ - -
-
-

- Return repr(self). -

-
-
-
-
- - __weakref__ - - - ΒΆ - -
-
-

- list of weak references to the object (if defined) -

-
-
-
-
-
-
- - tests.myproject. - - - baz - - - ( - - - ) - - - ΒΆ - -
-
-

- A locally defined function. -

-
-
-
-
- - tests.myproject. - - - fizbuzz - - - ( - - - ) - - - ΒΆ - -
-
-

- A locally defined function. -

-
-
- = (0, 17) %}section{% else %}div{% endif %}> -
-
-
-
-
-
- - diff --git a/tox.ini b/tox.ini index b222cb9..6832930 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,6 @@ # You may add new sections, but any changes made to the following sections will be lost: # * tox # * envlists -# * testenv # * testenv:docs # * testenv:build # * testenv:lint @@ -18,13 +17,16 @@ [tox] envlist = - py36-sphinx{3.2,3.3,3.4,3.5} - py37-sphinx{3.2,3.3,3.4,3.5} - py38-sphinx{3.2,3.3,3.4,3.5} - py39-sphinx{3.2,3.3,3.4,3.5} - py310-dev-sphinx{3.2,3.3,3.4,3.5} + py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5} + py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} pypy36-sphinx{3.2,3.3,3.4,3.5} - pypy37-sphinx{3.2,3.3,3.4,3.5} + pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} mypy build skip_missing_interpreters = True @@ -36,31 +38,19 @@ requires = [envlists] test = - py36-sphinx{3.2,3.3,3.4,3.5} - py37-sphinx{3.2,3.3,3.4,3.5} - py38-sphinx{3.2,3.3,3.4,3.5} - py39-sphinx{3.2,3.3,3.4,3.5} - py310-dev-sphinx{3.2,3.3,3.4,3.5} + py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5} + py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} pypy36-sphinx{3.2,3.3,3.4,3.5} - pypy37-sphinx{3.2,3.3,3.4,3.5} + pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} qa = mypy, lint cov = py36-sphinx3.2, coverage -[testenv] -setenv = - PYTHONDEVMODE=1 - PIP_DISABLE_PIP_VERSION_CHECK=1 - SETUPTOOLS_USE_DISTUTILS=stdlib -deps = - -r{toxinidir}/tests/requirements.txt - sphinx3.2: sphinx~=3.2.0 - sphinx3.3: sphinx~=3.3.0 - sphinx3.4: sphinx~=3.4.0 - sphinx3.5: sphinx~=3.5.0 -commands = - python --version - python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} - [testenv:docs] setenv = SHOW_TODOS = 1 passenv = SPHINX_BUILDER @@ -203,3 +193,41 @@ package = sphinx_autofixture [pytest] addopts = --color yes --durations 25 timeout = 300 +filterwarnings = + error + ignore:can't resolve package from __spec__ or __package__, falling back on __name__ and __path__:ImportWarning + ignore:'contextfunction' is renamed to 'pass_context', the old name will be removed in Jinja 3.1.:DeprecationWarning + ignore:'environmentfilter' is renamed to 'pass_environment', the old name will be removed in Jinja 3.1.:DeprecationWarning + always:distutils Version classes are deprecated. Use packaging.version instead.:DeprecationWarning + ignore:The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives:DeprecationWarning + ignore::DeprecationWarning:certifi + always:'cgi' is deprecated and slated for removal in Python 3.13:DeprecationWarning + always:'imghdr' is deprecated and slated for removal in Python 3.13:DeprecationWarning + always:The `docutils.parsers.rst.directive.html` module will be removed in Docutils 1.2.:DeprecationWarning +markers = sphinx + +[testenv] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + SETUPTOOLS_USE_DISTUTILS=stdlib +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/requirements.txt + sphinx3.2: sphinx==3.2.1 + sphinx3.3: sphinx==3.3.1 + sphinx3.4: sphinx==3.4.3 + sphinx3.5: sphinx==3.5.4 + sphinx3.{2,3,4,5}: docutils==0.16 + sphinx4.0: sphinx==4.0.3 + sphinx4.1: sphinx==4.1.2 + sphinx4.2: sphinx==4.2.0 + sphinx4.3: sphinx==4.3.2 + sphinx4.4: sphinx==4.4.0 + sphinx4.5: sphinx==4.5.0 + sphinx4.{0,1,2,3,4,5}: docutils<=0.17.1 + sphinx5.0: sphinx==5.0.2 + sphinx5.1: sphinx==5.1.1 +commands = + python --version + python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} From 9d099cd07c97303c14af8a2b6ea458f5d687f766 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 20 Sep 2022 08:31:27 +0000 Subject: [PATCH 046/109] Updated files with 'repo_helper'. (#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 ++-- .pre-commit-config.yaml | 3 +++ 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 57bd78c..0c76468 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,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-rc.2,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.11.0-rc.1", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} + - {python-version: "3.11.0-rc.2", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 1cbf13f..6a0a163 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,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-rc.2,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,7 +34,7 @@ jobs: - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.11.0-rc.1", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} + - {python-version: "3.11.0-rc.2", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 27e09bc..e9c761b 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,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11.0-rc.2,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.11.0-rc.1", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} + - {python-version: "3.11.0-rc.2", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1}", experimental: True} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index da84f7d..24bbc98 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 e36267b2166169c800e6059dab68854323414c7f Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 20 Sep 2022 09:48:32 +0100 Subject: [PATCH 047/109] Bump version v0.3.0 -> v0.4.0 --- .bumpversion.cfg | 2 +- .github/workflows/conda_ci.yml | 2 +- README.rst | 2 +- doc-source/index.rst | 2 +- pyproject.toml | 2 +- repo_helper.yml | 2 +- sphinx_autofixture/__init__.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 58a142c..dba9723 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.3.0 +current_version = 0.4.0 commit = True tag = True diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 4b057f6..ed41ec3 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -55,7 +55,7 @@ jobs: - name: "Install package" run: | - $CONDA/bin/conda install -c file://$(pwd)/conda-bld sphinx-autofixture=0.3.0=py_1 -y || exit 1 + $CONDA/bin/conda install -c file://$(pwd)/conda-bld sphinx-autofixture=0.4.0=py_1 -y || exit 1 - name: "Run Tests" run: | diff --git a/README.rst b/README.rst index 9f5d2a5..0bca5e8 100644 --- a/README.rst +++ b/README.rst @@ -106,7 +106,7 @@ and `the documentation for coincidence`_ for an example with the ReadTheDocs the .. |language| image:: https://img.shields.io/github/languages/top/sphinx-toolbox/sphinx-autofixture :alt: GitHub top language -.. |commits-since| image:: https://img.shields.io/github/commits-since/sphinx-toolbox/sphinx-autofixture/v0.3.0 +.. |commits-since| image:: https://img.shields.io/github/commits-since/sphinx-toolbox/sphinx-autofixture/v0.4.0 :target: https://github.com/sphinx-toolbox/sphinx-autofixture/pulse :alt: GitHub commits since tagged version diff --git a/doc-source/index.rst b/doc-source/index.rst index c960b2a..69e3e6b 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -107,7 +107,7 @@ sphinx-autofixture :alt: GitHub top language .. |commits-since| github-shield:: - :commits-since: v0.3.0 + :commits-since: v0.4.0 :alt: GitHub commits since tagged version .. |commits-latest| github-shield:: diff --git a/pyproject.toml b/pyproject.toml index b560ec3..b78d72b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "whey" [project] name = "sphinx-autofixture" -version = "0.3.0" +version = "0.4.0" description = "Sphinx autodocumenter for pytest fixtures." readme = "README.rst" keywords = [ "documentation", "pytest", "sphinx", "sphinx-extension",] diff --git a/repo_helper.yml b/repo_helper.yml index 7dbe48f..310069f 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -7,7 +7,7 @@ email: 'dominic@davis-foster.co.uk' username: "sphinx-toolbox" assignee: "domdfcoding" primary_conda_channel: 'domdfcoding' -version: '0.3.0' +version: '0.4.0' license: 'MIT' short_desc: 'Sphinx autodocumenter for pytest fixtures.' diff --git a/sphinx_autofixture/__init__.py b/sphinx_autofixture/__init__.py index e470b53..d0350e7 100644 --- a/sphinx_autofixture/__init__.py +++ b/sphinx_autofixture/__init__.py @@ -45,7 +45,7 @@ __author__: str = "Dominic Davis-Foster" __copyright__: str = "2020 Dominic Davis-Foster" __license__: str = "MIT License" -__version__: str = "0.3.0" +__version__: str = "0.4.0" __email__: str = "dominic@davis-foster.co.uk" __all__ = ["FixtureDecoratorFinder", "FixtureDocumenter", "is_fixture", "setup"] From d0563f75ad51fbe25c8e8773f6f53f1b3e6c4175 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 28 Sep 2022 09:39:51 +0100 Subject: [PATCH 048/109] Updated files with 'repo_helper'. (#48) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/flake8.yml | 2 +- .github/workflows/mypy.yml | 2 +- pyproject.toml | 2 +- tox.ini | 14 +++++++------- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 4b47d24..7633ccd 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@v2" 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 db8ab06..7137126 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@v2" with: - python-version: "3.6" + python-version: "3.8" - name: Install dependencies πŸ”§ run: | diff --git a/pyproject.toml b/pyproject.toml index b78d72b..fc1c27b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -127,7 +127,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/tox.ini b/tox.ini index 6832930..aa0c3ed 100644 --- a/tox.ini +++ b/tox.ini @@ -49,7 +49,7 @@ test = pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} qa = mypy, lint -cov = py36-sphinx3.2, coverage +cov = py38-sphinx3.2, coverage [testenv:docs] setenv = SHOW_TODOS = 1 @@ -72,7 +72,7 @@ commands = check-wheel-contents dist/ [testenv:lint] -basepython = python3.6 +basepython = python3.8 changedir = {toxinidir} ignore_errors = True skip_install = True @@ -102,7 +102,7 @@ deps = commands = python3 -m flake8_rst_docstrings_sphinx sphinx_autofixture tests --allow-toolbox {posargs} [testenv:perflint] -basepython = python3.6 +basepython = python3.8 changedir = {toxinidir} ignore_errors = True skip_install = True @@ -110,17 +110,17 @@ deps = perflint commands = python3 -m perflint sphinx_autofixture {posargs} [testenv:mypy] -basepython = python3.6 +basepython = python3.8 ignore_errors = True changedir = {toxinidir} deps = - mypy==0.942 + mypy==0.971 -r{toxinidir}/tests/requirements.txt -r{toxinidir}/stubs.txt commands = mypy sphinx_autofixture tests {posargs} [testenv:pyup] -basepython = python3.6 +basepython = python3.8 skip_install = True ignore_errors = True changedir = {toxinidir} @@ -128,7 +128,7 @@ deps = pyupgrade-directories commands = pyup_dirs sphinx_autofixture tests --py36-plus --recursive [testenv:coverage] -basepython = python3.6 +basepython = python3.8 skip_install = True ignore_errors = True whitelist_externals = /bin/bash From 2913126729efc5530c37c233e2b71812ffa8072a 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:17:56 +0000 Subject: [PATCH 049/109] Updated files with 'repo_helper'. (#50) 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 ++++---- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index ed41ec3..ed19285 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 d258e8d..917a145 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 7633ccd..2761d45 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.8" diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 7137126..6caf60d 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.8" diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 0c76468..0523bbe 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.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,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -33,7 +33,7 @@ jobs: - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.11.0-rc.2", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} + - {python-version: "3.11", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} @@ -41,7 +41,7 @@ jobs: 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 }}" diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 6a0a163..dd62ef2 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.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,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,7 +34,7 @@ jobs: - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.11.0-rc.2", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} + - {python-version: "3.11", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} @@ -42,7 +42,7 @@ jobs: steps: - name: Checkout πŸ›ŽοΈ - uses: "actions/checkout@v2" + uses: "actions/checkout@v3" - 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@v2" + uses: "actions/setup-python@v4" with: python-version: "${{ matrix.config.python-version }}" @@ -87,10 +87,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 @@ -136,11 +136,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 @@ -181,10 +181,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 e9c761b..41cc0b8 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.2,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -33,14 +33,14 @@ jobs: - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.11.0-rc.2", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} + - {python-version: "3.11", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1}", 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 }}" From 9e13f39fd5d5ed661d9f08385121dcc365f33a3d 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:26:47 +0000 Subject: [PATCH 050/109] [repo-helper] Configuration Update (#51) * 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 2761d45..8221173 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 6caf60d..9b28b5f 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 0523bbe..862d7f3 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.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/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index dd62ef2..9fbe307 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -67,7 +67,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 }}" @@ -75,7 +75,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 }}" @@ -100,7 +100,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 @@ -118,7 +118,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 @@ -149,7 +149,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 41cc0b8..74a6139 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -65,14 +65,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 aa0c3ed..26b9501 100644 --- a/tox.ini +++ b/tox.ini @@ -34,6 +34,7 @@ isolated_build = True requires = pip>=21,!=22.2 tox-envlist>=0.2.1 + tox~=3.0 virtualenv!=20.16.0 [envlists] From e35b5652e57c4d30c9a552f88658662d5fc9a48b Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 18 Apr 2023 09:03:24 +0100 Subject: [PATCH 051/109] Don't error on pkg-resources deprecation warnings --- tox.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tox.ini b/tox.ini index 26b9501..9db23b2 100644 --- a/tox.ini +++ b/tox.ini @@ -205,6 +205,8 @@ filterwarnings = always:'cgi' is deprecated and slated for removal in Python 3.13:DeprecationWarning always:'imghdr' is deprecated and slated for removal in Python 3.13:DeprecationWarning always:The `docutils.parsers.rst.directive.html` module will be removed in Docutils 1.2.:DeprecationWarning + always:pkg_resources is deprecated as an API:DeprecationWarning + always:Deprecated call to `pkg_resources.declare_namespace:DeprecationWarning markers = sphinx [testenv] From 3b0531ecddce67a4591ed9aeb601e64718ad4381 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 18 Apr 2023 19:21:30 +0100 Subject: [PATCH 052/109] Update reference file --- tests/test_directive_/test_output_36_index_html_.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_directive_/test_output_36_index_html_.html b/tests/test_directive_/test_output_36_index_html_.html index e172fd1..8db9374 100644 --- a/tests/test_directive_/test_output_36_index_html_.html +++ b/tests/test_directive_/test_output_36_index_html_.html @@ -1,4 +1,4 @@ -{% macro span_pre(text, indent='', min_version=(4, 0)) -%} +{% macro span_pre(text, indent='', min_version=(3, 5)) -%} {% if sphinx_version >= min_version %} {{ indent }} {{ text }} {{ indent }}{% else %}{{ text }}{% endif %} From 1d36cc07ee6a5419416611a9bd918c587cf65b85 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 18 Apr 2023 22:54:26 +0100 Subject: [PATCH 053/109] Update reference files --- tests/test_directive_/test_output_310_index_html_.html | 2 +- tests/test_directive_/test_output_36_pypy_index_html_.html | 2 +- tests/test_directive_/test_output_37_index_html_.html | 2 +- tests/test_directive_/test_output_37_pypy_index_html_.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index cae1257..08d77f6 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -1,4 +1,4 @@ -{% macro span_pre(text, indent='', min_version=(4, 0)) -%} +{% macro span_pre(text, indent='', min_version=(3, 5)) -%} {% if sphinx_version >= min_version %} {{ indent }} {{ text }} {{ indent }}{% else %}{{ text }}{% endif %} diff --git a/tests/test_directive_/test_output_36_pypy_index_html_.html b/tests/test_directive_/test_output_36_pypy_index_html_.html index b6853cf..fb6a16e 100644 --- a/tests/test_directive_/test_output_36_pypy_index_html_.html +++ b/tests/test_directive_/test_output_36_pypy_index_html_.html @@ -1,4 +1,4 @@ -{% macro span_pre(text, indent='') -%} +{% macro span_pre(text, indent='', min_version=(3, 5)) -%} {% if sphinx_version >= (3, 5) %} {{ indent }} {{ text }} {{ indent }}{% else %}{{ text }}{% endif %} diff --git a/tests/test_directive_/test_output_37_index_html_.html b/tests/test_directive_/test_output_37_index_html_.html index 97ee6e3..55ffaa8 100644 --- a/tests/test_directive_/test_output_37_index_html_.html +++ b/tests/test_directive_/test_output_37_index_html_.html @@ -1,4 +1,4 @@ -{% macro span_pre(text, indent='', min_version=(4, 0)) -%} +{% macro span_pre(text, indent='', min_version=(3, 5)) -%} {% if sphinx_version >= min_version %} {{ indent }} {{ text }} {{ indent }}{% else %}{{ text }}{% endif %} diff --git a/tests/test_directive_/test_output_37_pypy_index_html_.html b/tests/test_directive_/test_output_37_pypy_index_html_.html index d38484b..31d0153 100644 --- a/tests/test_directive_/test_output_37_pypy_index_html_.html +++ b/tests/test_directive_/test_output_37_pypy_index_html_.html @@ -1,4 +1,4 @@ -{% macro span_pre(text, indent='', min_version=(4, 0)) -%} +{% macro span_pre(text, indent='', min_version=(3, 5)) -%} {% if sphinx_version >= min_version %} {{ indent }} {{ text }} {{ indent }}{% else %}{{ text }}{% endif %} From 66c288f9162de01333edf7ed7fdf766041f415b6 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Thu, 20 Apr 2023 13:05:20 +0000 Subject: [PATCH 054/109] Updated files with 'repo_helper'. (#53) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .bumpversion.cfg | 2 ++ .github/workflows/conda_ci.yml | 6 ++++-- .github/workflows/python_ci_linux.yml | 6 ++++-- .pre-commit-config.yaml | 6 +++--- README.rst | 2 +- doc-source/index.rst | 2 +- tox.ini | 10 ++++++++++ 7 files changed, 25 insertions(+), 9 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index dba9723..2e87e36 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -18,3 +18,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/conda_ci.yml b/.github/workflows/conda_ci.yml index ed19285..6e13a91 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_linux.yml b/.github/workflows/python_ci_linux.yml index 9fbe307..aa5ab23 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -177,7 +177,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 πŸ›ŽοΈ @@ -192,7 +192,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/.pre-commit-config.yaml b/.pre-commit-config.yaml index 24bbc98..20e78d8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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 @@ -87,7 +87,7 @@ repos: 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/README.rst b/README.rst index 0bca5e8..5ed7cdb 100644 --- a/README.rst +++ b/README.rst @@ -114,7 +114,7 @@ and `the documentation for coincidence`_ for an example with the ReadTheDocs the :target: https://github.com/sphinx-toolbox/sphinx-autofixture/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/sphinx-autofixture diff --git a/doc-source/index.rst b/doc-source/index.rst index 69e3e6b..ddad5dc 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -114,7 +114,7 @@ sphinx-autofixture :last-commit: :alt: GitHub last commit - .. |maintained| maintained-shield:: 2022 + .. |maintained| maintained-shield:: 2023 :alt: Maintenance .. |pypi-downloads| pypi-shield:: diff --git a/tox.ini b/tox.ini index 9db23b2..f69102c 100644 --- a/tox.ini +++ b/tox.ini @@ -2,6 +2,8 @@ # 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 # * testenv:lint @@ -52,6 +54,11 @@ test = qa = mypy, lint cov = py38-sphinx3.2, coverage +[testenv:.package] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + [testenv:docs] setenv = SHOW_TODOS = 1 passenv = SPHINX_BUILDER @@ -61,6 +68,9 @@ 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 skip_install = True changedir = {toxinidir} deps = From 4770f6b901e399ca6dd69cc60bc9daa9fd5bd48d Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 20 Apr 2023 14:25:07 +0100 Subject: [PATCH 055/109] Test on Sphinx 6.x and Python 3.12 --- .github/workflows/python_ci.yml | 15 +++---- .github/workflows/python_ci_linux.yml | 15 +++---- .github/workflows/python_ci_macos.yml | 15 +++---- pyproject.toml | 2 +- repo_helper.yml | 17 +++++++- .../test_output_37_index_html_.html | 8 ++-- tox.ini | 41 +++++++++++++------ 7 files changed, 75 insertions(+), 38 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 862d7f3..e590ba1 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,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.7,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -30,14 +30,15 @@ jobs: config: - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5},build", experimental: False} - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.11", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.12.0-alpha.7", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1}", experimental: True} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1}", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index aa5ab23..a465d63 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,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.7,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -31,14 +31,15 @@ jobs: config: - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5},build", experimental: False} - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.11", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.12.0-alpha.7", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1}", experimental: True} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1}", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 74a6139..5fe1e91 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,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.7,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -30,13 +30,14 @@ jobs: config: - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5},build", experimental: False} - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.11", testenvs: "py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} + - {python-version: "3.12.0-alpha.7", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1}", experimental: True} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1}", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/pyproject.toml b/pyproject.toml index fc1c27b..fd36d63 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,7 +35,7 @@ base-classifiers = [ "Topic :: Software Development :: Documentation", "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 310069f..c01da68 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -23,11 +23,18 @@ python_versions: sphinx: - 5.0 - 5.1 + - 6.0 + - 6.1 '3.7': + matrix_exclude: + sphinx: + - 6.0 + - 6.1 '3.8': '3.9': '3.10': - 3.11-dev: + 3.11: + 3.12-dev: pypy36: matrix_exclude: sphinx: @@ -39,7 +46,13 @@ python_versions: - 4.5 - 5.0 - 5.1 + - 6.0 + - 6.1 pypy37: + matrix_exclude: + sphinx: + - 6.0 + - 6.1 pypy38: pypy39: @@ -64,6 +77,8 @@ third_party_version_matrix: - 4.5 - 5.0 - 5.1 + - 6.0 + - 6.1 keywords: - sphinx diff --git a/tests/test_directive_/test_output_37_index_html_.html b/tests/test_directive_/test_output_37_index_html_.html index 55ffaa8..32fbe79 100644 --- a/tests/test_directive_/test_output_37_index_html_.html +++ b/tests/test_directive_/test_output_37_index_html_.html @@ -18,15 +18,17 @@ sphinx-autofixture Demo β€” Python documentation + {% if sphinx_version < (6, 0) %} {% if sphinx_version >= (5, 0) %} {% endif %} + {% endif %}{% endif %} + {% if sphinx_version >= (5, 2) %} + {% endif %} diff --git a/tox.ini b/tox.ini index f69102c..99f8e24 100644 --- a/tox.ini +++ b/tox.ini @@ -21,14 +21,15 @@ envlist = py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5} py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} pypy36-sphinx{3.2,3.3,3.4,3.5} pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} mypy build skip_missing_interpreters = True @@ -43,14 +44,15 @@ requires = test = py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5} py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - py311-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} pypy36-sphinx{3.2,3.3,3.4,3.5} pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} + pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} qa = mypy, lint cov = py38-sphinx3.2, coverage @@ -59,6 +61,11 @@ setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 +[testenv:py312-dev] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + [testenv:docs] setenv = SHOW_TODOS = 1 passenv = SPHINX_BUILDER @@ -219,6 +226,16 @@ filterwarnings = always:Deprecated call to `pkg_resources.declare_namespace:DeprecationWarning markers = sphinx +[testenv:py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1}] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + +[testenv:py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1}] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + [testenv] setenv = PYTHONDEVMODE=1 From bc3cd6f6ef19745bbef6eb7b239d61c84a3ea203 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 25 Apr 2023 08:34:08 +0100 Subject: [PATCH 056/109] Update reference files for Sphinx 6.x --- tests/test_directive_/test_output_310_index_html_.html | 8 +++++--- .../test_directive_/test_output_37_pypy_index_html_.html | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index 08d77f6..7cd968e 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -18,15 +18,17 @@ sphinx-autofixture Demo β€” Python documentation + {% if sphinx_version < (6, 0) %} {% if sphinx_version >= (5, 0) %} {% endif %} + {% endif %}{% endif %} + {% if sphinx_version >= (5, 2) %} + {% endif %} diff --git a/tests/test_directive_/test_output_37_pypy_index_html_.html b/tests/test_directive_/test_output_37_pypy_index_html_.html index 31d0153..861e28c 100644 --- a/tests/test_directive_/test_output_37_pypy_index_html_.html +++ b/tests/test_directive_/test_output_37_pypy_index_html_.html @@ -18,15 +18,17 @@ sphinx-autofixture Demo β€” Python documentation + {% if sphinx_version < (6, 0) %} {% if sphinx_version >= (5, 0) %} {% endif %} + {% endif %}{% endif %} + {% if sphinx_version >= (5, 2) %} + {% endif %} From ab22d7c73658777522b4851f02f941f3686ec3bd Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 26 Apr 2023 21:17:05 +0100 Subject: [PATCH 057/109] Update PyPy reference file --- .../test_output_36_pypy_index_html_.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/test_directive_/test_output_36_pypy_index_html_.html b/tests/test_directive_/test_output_36_pypy_index_html_.html index fb6a16e..6905d21 100644 --- a/tests/test_directive_/test_output_36_pypy_index_html_.html +++ b/tests/test_directive_/test_output_36_pypy_index_html_.html @@ -47,10 +47,10 @@

{{ span_pre("fixture", " ") }} <{{ sig_prename_tag }} class="sig-prename descclassname"> - coincidence.fixtures. + {{ span_pre("coincidence.fixtures.", " ") }} <{{ sig_prename_tag }} class="sig-name descname"> - tmp_pathplus + {{ span_pre("tmp_pathplus", " ") }} ΒΆ @@ -105,10 +105,10 @@

{{ span_pre("fixture", " ") }} <{{ sig_prename_tag }} class="sig-prename descclassname"> - coincidence.fixtures. + {{ span_pre("coincidence.fixtures.", " ") }} <{{ sig_prename_tag }} class="sig-name descname"> - tmp_pathplus + {{ span_pre("tmp_pathplus", " ") }}

@@ -150,10 +150,10 @@

<{{ sig_prename_tag }} class="sig-prename descclassname"> - tests.myproject. + {{ span_pre("tests.myproject.", " ") }} <{{ sig_prename_tag }} class="sig-name descname"> - baz + {{ span_pre("baz", " ") }} ( @@ -174,10 +174,10 @@

<{{ sig_prename_tag }} class="sig-prename descclassname"> - tests.myproject. + {{ span_pre("tests.myproject.", " ") }} <{{ sig_prename_tag }} class="sig-name descname"> - fizbuzz + {{ span_pre("fizbuzz", " ") }} ( From c8927deb99e8ec392de101c404d20ad5700c6a3b Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 26 Apr 2023 21:17:26 +0100 Subject: [PATCH 058/109] Update reference file for Python 3,12 --- tests/test_directive_/test_output_310_index_html_.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index 7cd968e..066b4c1 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -193,15 +193,15 @@

<{{ sig_prename_tag }} class="sig-name descname"> {{ span_pre("__dataclass_params__", " ") }} - + {% set DataclassParams_end_args = ',match_args=True,kw_only=False,slots=False,weakref_slot=False' if python_version >= (3, 12) else '' %} {% if (3, 5) <= sphinx_version < (4, 3) %} = - _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False) + _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False{{ DataclassParams_end_args }}) {% else %} - = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False){% endif %} + = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False{{ DataclassParams_end_args }}){% endif %} ΒΆ From 6b926dad8bd3047f9d132a664e751ca7e2be5f06 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 24 Aug 2023 18:28:05 +0100 Subject: [PATCH 059/109] Test on newer Sphinx versions --- .github/workflows/python_ci.yml | 22 +++++------ .github/workflows/python_ci_linux.yml | 22 +++++------ .github/workflows/python_ci_macos.yml | 20 +++++----- repo_helper.yml | 33 +++++++++++++++- tox.ini | 57 +++++++++++++++------------ 5 files changed, 95 insertions(+), 59 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index e590ba1..2777541 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,23 +22,23 @@ 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.7,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 matrix: config: - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5},build", experimental: False} - - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.12.0-alpha.7", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} - - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1}", experimental: True} + - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5,5.3}", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: True} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index a465d63..67dd48e 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,23 +23,23 @@ 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.7,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 matrix: config: - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5},build", experimental: False} - - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.12.0-alpha.7", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} - - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1}", experimental: True} + - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5,5.3},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: True} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 5fe1e91..da80e5d 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,22 +22,22 @@ 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.7,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 matrix: config: - {python-version: "3.6", testenvs: "py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5},build", experimental: False} - - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: False} - - {python-version: "3.12.0-alpha.7", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1},build", experimental: True} - - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1}", experimental: True} + - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: True} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/repo_helper.yml b/repo_helper.yml index c01da68..7a2778e 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -23,17 +23,30 @@ python_versions: sphinx: - 5.0 - 5.1 + - 5.2 + - 5.3 - 6.0 - 6.1 + - 6.2 + - 7.0 + - 7.1 + - 7.2 '3.7': matrix_exclude: sphinx: - 6.0 - 6.1 + - 6.2 + - 7.0 + - 7.1 + - 7.2 '3.8': + matrix_exclude: + sphinx: + - 7.2 '3.9': '3.10': - 3.11: + "3.11": 3.12-dev: pypy36: matrix_exclude: @@ -46,14 +59,26 @@ python_versions: - 4.5 - 5.0 - 5.1 + - 5.2 - 6.0 - 6.1 + - 6.2 + - 7.0 + - 7.1 + - 7.2 pypy37: matrix_exclude: sphinx: - 6.0 - 6.1 + - 6.2 + - 7.0 + - 7.1 + - 7.2 pypy38: + matrix_exclude: + sphinx: + - 7.2 pypy39: conda_channels: @@ -77,8 +102,14 @@ third_party_version_matrix: - 4.5 - 5.0 - 5.1 + - 5.2 + - 5.3 - 6.0 - 6.1 + - 6.2 + - 7.0 + - 7.1 + # - 7.2 keywords: - sphinx diff --git a/tox.ini b/tox.ini index 99f8e24..bc8bd68 100644 --- a/tox.ini +++ b/tox.ini @@ -20,16 +20,16 @@ [tox] envlist = py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5} - py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - pypy36-sphinx{3.2,3.3,3.4,3.5} - pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} + py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + pypy36-sphinx{3.2,3.3,3.4,3.5,5.3} + pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} + pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} mypy build skip_missing_interpreters = True @@ -39,20 +39,21 @@ requires = tox-envlist>=0.2.1 tox~=3.0 virtualenv!=20.16.0 +toxworkdir = {env:TOX_WORK_DIR:.tox} [envlists] test = py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5} - py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - pypy36-sphinx{3.2,3.3,3.4,3.5} - pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1} - pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} - pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1} + py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} + py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + pypy36-sphinx{3.2,3.3,3.4,3.5,5.3} + pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} + pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} qa = mypy, lint cov = py38-sphinx3.2, coverage @@ -224,14 +225,10 @@ filterwarnings = always:The `docutils.parsers.rst.directive.html` module will be removed in Docutils 1.2.:DeprecationWarning always:pkg_resources is deprecated as an API:DeprecationWarning always:Deprecated call to `pkg_resources.declare_namespace:DeprecationWarning + always:datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version:DeprecationWarning:sphinx.builders.gettext markers = sphinx -[testenv:py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,6.0,6.1}] -setenv = - PYTHONDEVMODE=1 - PIP_DISABLE_PIP_VERSION_CHECK=1 - -[testenv:py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1}] +[testenv:py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 @@ -258,6 +255,14 @@ deps = sphinx4.{0,1,2,3,4,5}: docutils<=0.17.1 sphinx5.0: sphinx==5.0.2 sphinx5.1: sphinx==5.1.1 + sphinx5.2: sphinx==5.2.1 + sphinx5.3: sphinx==5.3.0 + sphinx6.0: sphinx==6.0.1 + sphinx6.1: sphinx==6.1.2 + sphinx6.2: sphinx==6.2.1 + sphinx7.0: sphinx==7.0.1 + sphinx7.1: sphinx==7.1.2 + sphinx7.2: sphinx==7.2.3 commands = python --version python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} From 14d36b1c99d6c44bdc8d399833921ca9722a3e4e Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Fri, 25 Aug 2023 08:07:28 +0100 Subject: [PATCH 060/109] Update tests for Sphinx 7.1 --- tests/test_directive.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/test_directive.py b/tests/test_directive.py index 7080ed6..0941ff7 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -96,4 +96,9 @@ def test_output( if isinstance(first_child, element.Tag): code.contents = [first_child.contents[0]] + for div in page.findAll("script"): + if div.get("src"): + div["src"] = div["src"].split("?v=")[0] + print(div["src"]) + html_regression.check(page, jinja2=True) From f45570a51b749711207c170705f03987d2e5a2aa Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Sat, 26 Aug 2023 16:30:26 +0100 Subject: [PATCH 061/109] Skip Sphinx 5.3 on PyPy 3.6 --- .github/workflows/python_ci.yml | 2 +- .github/workflows/python_ci_linux.yml | 2 +- repo_helper.yml | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 2777541..f849ba5 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -35,7 +35,7 @@ jobs: - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5,5.3}", experimental: False} + - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 67dd48e..403b507 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -36,7 +36,7 @@ jobs: - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5,5.3},build", experimental: False} + - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} diff --git a/repo_helper.yml b/repo_helper.yml index 7a2778e..200f419 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -60,6 +60,7 @@ python_versions: - 5.0 - 5.1 - 5.2 + - 5.3 - 6.0 - 6.1 - 6.2 From dabb817a4e80ca24dddff837a8191f0f67a7a9a9 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Sat, 26 Aug 2023 18:21:09 +0100 Subject: [PATCH 062/109] Updated files with 'repo_helper'. (#55) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 6 +++--- .readthedocs.yml | 10 +++++++--- doc-source/requirements.txt | 18 +++++++++--------- tox.ini | 10 ++++++---- 4 files changed, 25 insertions(+), 19 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 20e78d8..64d9ea8 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: ^sphinx_autofixture/.*\.py$ @@ -81,7 +81,7 @@ 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$ diff --git a/.readthedocs.yml b/.readthedocs.yml index 41d2e57..4a2ec5f 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -9,9 +9,13 @@ formats: - pdf - htmlzip python: - version: 3.8 install: - requirements: requirements.txt - requirements: doc-source/requirements.txt - - method: pip - path: . +build: + os: ubuntu-20.04 + tools: + python: '3.9' + jobs: + post_create_environment: + - pip install . diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index 3c82665..acfcae1 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -1,17 +1,17 @@ -default-values>=0.5.0 +default-values>=0.6.0 domdf-python-tools[testing]>=1.5.0 -extras-require>=0.2.0 -furo>=2020.11.19b18 -html-section>=0.1.0 -seed-intersphinx-mapping>=0.3.1 +extras-require>=0.5.0 +furo==2021.06.18b36 +html-section>=0.3.0 +seed-intersphinx-mapping>=1.2.2 sphinx-copybutton>=0.2.12 -sphinx-debuginfo>=0.1.0 -sphinx-licenseinfo>=0.1.1 +sphinx-debuginfo>=0.2.2 +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>=2.13.0 +sphinx-toolbox>=3.5.0 sphinxcontrib-httpdomain>=1.7.0 sphinxemoji>=0.1.6 -toctree-plus>=0.5.0 +toctree-plus>=0.6.1 diff --git a/tox.ini b/tox.ini index bc8bd68..589ccae 100644 --- a/tox.ini +++ b/tox.ini @@ -26,7 +26,7 @@ envlist = py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - pypy36-sphinx{3.2,3.3,3.4,3.5,5.3} + pypy36-sphinx{3.2,3.3,3.4,3.5} pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} @@ -39,7 +39,6 @@ requires = tox-envlist>=0.2.1 tox~=3.0 virtualenv!=20.16.0 -toxworkdir = {env:TOX_WORK_DIR:.tox} [envlists] test = @@ -50,7 +49,7 @@ test = py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - pypy36-sphinx{3.2,3.3,3.4,3.5,5.3} + pypy36-sphinx{3.2,3.3,3.4,3.5} pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} @@ -79,12 +78,14 @@ commands = sphinx-build -M {env:SPHINX_BUILDER:html} . ./build {posargs} 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 @@ -167,7 +168,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 @@ -195,6 +196,7 @@ plugins = coverage_pyver_pragma [coverage:report] fail_under = 95 +show_missing = True exclude_lines = raise AssertionError raise NotImplementedError From 4681928e4e562403f083c91940860d3c143ff738 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 20 Nov 2023 14:07:25 +0000 Subject: [PATCH 063/109] 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 | 25 ++++++++++++++++++++++--- 6 files changed, 40 insertions(+), 17 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index f849ba5..9e0ec1a 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} steps: diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 403b507..0d8cff8 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} steps: diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index da80e5d..2f4764a 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} steps: diff --git a/pyproject.toml b/pyproject.toml index fd36d63..c1beb0a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,7 +35,7 @@ base-classifiers = [ "Topic :: Software Development :: Documentation", "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 200f419..6c2a1c3 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -47,7 +47,8 @@ python_versions: '3.9': '3.10': "3.11": - 3.12-dev: + "3.12": + 3.13-dev: pypy36: matrix_exclude: sphinx: diff --git a/tox.ini b/tox.ini index 589ccae..7b20edf 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} pypy36-sphinx{3.2,3.3,3.4,3.5} pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} @@ -48,7 +51,8 @@ test = py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} pypy36-sphinx{3.2,3.3,3.4,3.5} pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} @@ -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 @@ -230,6 +239,16 @@ filterwarnings = always:datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version:DeprecationWarning:sphinx.builders.gettext markers = sphinx +[testenv:py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + +[testenv:py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + [testenv:py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] setenv = PYTHONDEVMODE=1 From 25349e141853ddf571117ad04ade0df15bcc60c6 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 20 Nov 2023 21:05:43 +0000 Subject: [PATCH 064/109] Update pytest warningfilter --- tox.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tox.ini b/tox.ini index 7b20edf..61decbd 100644 --- a/tox.ini +++ b/tox.ini @@ -237,6 +237,8 @@ filterwarnings = always:pkg_resources is deprecated as an API:DeprecationWarning always:Deprecated call to `pkg_resources.declare_namespace:DeprecationWarning always:datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version:DeprecationWarning:sphinx.builders.gettext + always:datetime.datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version.:DeprecationWarning:sphinx.builders.gettext + markers = sphinx [testenv:py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] From 7983ad30e70bf6cc53b073e2181ed39c8320a894 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 20 Nov 2023 23:10:55 +0000 Subject: [PATCH 065/109] Update pytest warningfilter --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index 61decbd..a5c4728 100644 --- a/tox.ini +++ b/tox.ini @@ -238,6 +238,7 @@ filterwarnings = always:Deprecated call to `pkg_resources.declare_namespace:DeprecationWarning always:datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version:DeprecationWarning:sphinx.builders.gettext always:datetime.datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version.:DeprecationWarning:sphinx.builders.gettext + always:The alias 'sphinx.util.SkipProgressMessage' is deprecated, use 'sphinx.util.display.SkipProgressMessage' instead:DeprecationWarning:sphinxcontrib.applehelp markers = sphinx From 7bb438a79a8cc0af04b50ef02f5fdd6eee535cff Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 21 Nov 2023 08:21:58 +0000 Subject: [PATCH 066/109] Update pytest warningfilter --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index a5c4728..42ef6c7 100644 --- a/tox.ini +++ b/tox.ini @@ -234,6 +234,7 @@ filterwarnings = always:'cgi' is deprecated and slated for removal in Python 3.13:DeprecationWarning always:'imghdr' is deprecated and slated for removal in Python 3.13:DeprecationWarning always:The `docutils.parsers.rst.directive.html` module will be removed in Docutils 1.2.:DeprecationWarning + always:The alias 'sphinx.util.progress_message' is deprecated, use 'sphinx.util.display.progress_message' instead. always:pkg_resources is deprecated as an API:DeprecationWarning always:Deprecated call to `pkg_resources.declare_namespace:DeprecationWarning always:datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version:DeprecationWarning:sphinx.builders.gettext From 7957790af350d46c037422655d59aff9d9c0a8e6 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 21 Nov 2023 15:31:48 +0000 Subject: [PATCH 067/109] Update warning filter --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index 42ef6c7..dee1c9f 100644 --- a/tox.ini +++ b/tox.ini @@ -240,6 +240,7 @@ filterwarnings = always:datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version:DeprecationWarning:sphinx.builders.gettext always:datetime.datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version.:DeprecationWarning:sphinx.builders.gettext always:The alias 'sphinx.util.SkipProgressMessage' is deprecated, use 'sphinx.util.display.SkipProgressMessage' instead:DeprecationWarning:sphinxcontrib.applehelp + always:The alias 'sphinx.util.progress_message' is deprecated, use 'sphinx.http_date.epoch_to_rfc1123' instead.:DeprecationWarning:sphinxcontrib.applehelp markers = sphinx From b06a535228108204af70f577c787710a2493513b Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 21 Nov 2023 16:25:10 +0000 Subject: [PATCH 068/109] Update warning filter --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index dee1c9f..c0f63f8 100644 --- a/tox.ini +++ b/tox.ini @@ -235,6 +235,7 @@ filterwarnings = always:'imghdr' is deprecated and slated for removal in Python 3.13:DeprecationWarning always:The `docutils.parsers.rst.directive.html` module will be removed in Docutils 1.2.:DeprecationWarning always:The alias 'sphinx.util.progress_message' is deprecated, use 'sphinx.util.display.progress_message' instead. + always:The alias 'sphinx.util.progress_message' is deprecated, use 'sphinx.http_date.epoch_to_rfc1123' instead. always:pkg_resources is deprecated as an API:DeprecationWarning always:Deprecated call to `pkg_resources.declare_namespace:DeprecationWarning always:datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version:DeprecationWarning:sphinx.builders.gettext From f1b46f6aee7fdab77df069208b80c423203f53ce Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Fri, 8 Dec 2023 13:17:21 +0000 Subject: [PATCH 069/109] 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 | 4 ++-- .github/workflows/python_ci_linux.yml | 4 ++-- .github/workflows/python_ci_macos.yml | 4 ++-- tox.ini | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 9e0ec1a..0ab31b7 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 0d8cff8..7bbf2ab 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 2f4764a..41c7059 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} diff --git a/tox.ini b/tox.ini index c0f63f8..8d9044f 100644 --- a/tox.ini +++ b/tox.ini @@ -93,7 +93,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}" @@ -113,7 +114,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 @@ -242,7 +243,6 @@ filterwarnings = always:datetime.datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version.:DeprecationWarning:sphinx.builders.gettext always:The alias 'sphinx.util.SkipProgressMessage' is deprecated, use 'sphinx.util.display.SkipProgressMessage' instead:DeprecationWarning:sphinxcontrib.applehelp always:The alias 'sphinx.util.progress_message' is deprecated, use 'sphinx.http_date.epoch_to_rfc1123' instead.:DeprecationWarning:sphinxcontrib.applehelp - markers = sphinx [testenv:py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] From 6bbefc06fcf73a87966368ca0fc3a70488bb84dc Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 29 Jan 2024 10:52:14 +0000 Subject: [PATCH 070/109] Cap sphinxcontrib-*help and alabaster versions in tests. They don't correctly specify their minimum sphinx requirement. --- tox.ini | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 8d9044f..0b234f7 100644 --- a/tox.ini +++ b/tox.ini @@ -289,7 +289,14 @@ deps = sphinx6.2: sphinx==6.2.1 sphinx7.0: sphinx==7.0.1 sphinx7.1: sphinx==7.1.2 - sphinx7.2: sphinx==7.2.3 + sphinx7.2: sphinx==7.2.5 + 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 + alabaster<=0.7.13 commands = python --version python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} From a929be1035c49c090651e3ce995d08ecd058ec75 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 29 Jan 2024 10:53:22 +0000 Subject: [PATCH 071/109] Update reference files for newer docutils. --- tests/test_directive_/test_output_310_index_html_.html | 6 ++++-- tests/test_directive_/test_output_36_index_html_.html | 6 ++++-- tests/test_directive_/test_output_36_pypy_index_html_.html | 6 ++++-- tests/test_directive_/test_output_37_index_html_.html | 6 ++++-- tests/test_directive_/test_output_37_pypy_index_html_.html | 6 ++++-- 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index 066b4c1..e312886 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -12,8 +12,10 @@ - {% if docutils_version >= (0, 18) %} - {% elif docutils_version >= (0, 17) %} + {% if docutils_version[1] == 18 %} + {% elif docutils_version[1] == 17 %} + {% elif docutils_version[1] == 19 %} + {% elif docutils_version[1] == 20 %} {% endif %} sphinx-autofixture Demo β€” Python documentation diff --git a/tests/test_directive_/test_output_36_index_html_.html b/tests/test_directive_/test_output_36_index_html_.html index 8db9374..5bd13e2 100644 --- a/tests/test_directive_/test_output_36_index_html_.html +++ b/tests/test_directive_/test_output_36_index_html_.html @@ -12,8 +12,10 @@ - {% if docutils_version >= (0, 18) %} - {% elif docutils_version >= (0, 17) %} + {% if docutils_version[1] == 18 %} + {% elif docutils_version[1] == 17 %} + {% elif docutils_version[1] == 19 %} + {% elif docutils_version[1] == 20 %} {% endif %} sphinx-autofixture Demo β€” Python documentation diff --git a/tests/test_directive_/test_output_36_pypy_index_html_.html b/tests/test_directive_/test_output_36_pypy_index_html_.html index 6905d21..21c0519 100644 --- a/tests/test_directive_/test_output_36_pypy_index_html_.html +++ b/tests/test_directive_/test_output_36_pypy_index_html_.html @@ -12,8 +12,10 @@ - {% if docutils_version >= (0, 18) %} - {% elif docutils_version >= (0, 17) %} + {% if docutils_version[1] == 18 %} + {% elif docutils_version[1] == 17 %} + {% elif docutils_version[1] == 19 %} + {% elif docutils_version[1] == 20 %} {% endif %} sphinx-autofixture Demo β€” Python documentation diff --git a/tests/test_directive_/test_output_37_index_html_.html b/tests/test_directive_/test_output_37_index_html_.html index 32fbe79..55f6a1d 100644 --- a/tests/test_directive_/test_output_37_index_html_.html +++ b/tests/test_directive_/test_output_37_index_html_.html @@ -12,8 +12,10 @@ - {% if docutils_version >= (0, 18) %} - {% elif docutils_version >= (0, 17) %} + {% if docutils_version[1] == 18 %} + {% elif docutils_version[1] == 17 %} + {% elif docutils_version[1] == 19 %} + {% elif docutils_version[1] == 20 %} {% endif %} sphinx-autofixture Demo β€” Python documentation diff --git a/tests/test_directive_/test_output_37_pypy_index_html_.html b/tests/test_directive_/test_output_37_pypy_index_html_.html index 861e28c..7b9fbd7 100644 --- a/tests/test_directive_/test_output_37_pypy_index_html_.html +++ b/tests/test_directive_/test_output_37_pypy_index_html_.html @@ -12,8 +12,10 @@ - {% if docutils_version >= (0, 18) %} - {% elif docutils_version >= (0, 17) %} + {% if docutils_version[1] == 18 %} + {% elif docutils_version[1] == 17 %} + {% elif docutils_version[1] == 19 %} + {% elif docutils_version[1] == 20 %} {% endif %} sphinx-autofixture Demo β€” Python documentation From 5bffdb7bb8a93bb2a0d68ee29c3728fe0399b8f1 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 29 Jan 2024 14:05:45 +0000 Subject: [PATCH 072/109] Update reference file for Python 3.11 --- tests/test_directive_/test_output_310_index_html_.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index e312886..3d03bff 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -369,7 +369,7 @@

- list of weak references to the object (if defined) + list of weak references to the object{% if python_version < (3, 11) %} (if defined){% endif %}

From d7ec086f5f0c195e31bde608b8072e7264545ea0 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 14:06:42 +0000 Subject: [PATCH 073/109] Updated files with 'repo_helper'. (#61) 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 6e13a91..c4192dc 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 7bbf2ab..ef3041f 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 4a2ec5f..e928b70 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -19,3 +19,6 @@ build: jobs: post_create_environment: - pip install . + 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 5ed7cdb..ff8bcc6 100644 --- a/README.rst +++ b/README.rst @@ -114,7 +114,7 @@ and `the documentation for coincidence`_ for an example with the ReadTheDocs the :target: https://github.com/sphinx-toolbox/sphinx-autofixture/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/sphinx-autofixture diff --git a/doc-source/index.rst b/doc-source/index.rst index ddad5dc..3a2dca0 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -114,7 +114,7 @@ sphinx-autofixture :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 0b234f7..86c545a 100644 --- a/tox.ini +++ b/tox.ini @@ -114,7 +114,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 f1de6ab43f2bfd05558e62ccda828a202ec4a34d Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 29 Jan 2024 15:21:30 +0000 Subject: [PATCH 074/109] Add coincidence to docs requirements. --- doc-source/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index acfcae1..bbd469b 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -1,3 +1,4 @@ +coincidence>=0.6.5 default-values>=0.6.0 domdf-python-tools[testing]>=1.5.0 extras-require>=0.5.0 From b2ac046d261c11de463930209e0735957a30edde Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 31 Jan 2024 11:50:09 +0000 Subject: [PATCH 075/109] Updated files with 'repo_helper'. (#62) 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 ++++---- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index c4192dc..d771dc7 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 917a145..331606e 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 0ab31b7..f07afdf 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},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 ef3041f..513f447 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},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 41c7059..5cbc44e 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},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 }}" From 5d17890bc7d00a94d27d697bf13cb62b22402e46 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 5 Feb 2024 16:56:52 +0000 Subject: [PATCH 076/109] Bump pre-commit hooks. (#63) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 64d9ea8..01e0065 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: ^sphinx_autofixture/.*\.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 db7523d25b92f89836be3f7be71a15e03fc63ad0 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 16:44:40 +0000 Subject: [PATCH 077/109] Updated files with 'repo_helper'. (#64) 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 f07afdf..f5e2633 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},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 513f447..043ad5c 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},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 5cbc44e..9331805 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},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 762e00d..a4a34ce 100644 --- a/formate.toml +++ b/formate.toml @@ -47,5 +47,5 @@ known_third_party = [ "sphinx_jinja2_compat", "sphinx_toolbox", ] -known_first_party = "sphinx_autofixture" +known_first_party = [ "sphinx_autofixture",] line_length = 115 diff --git a/tox.ini b/tox.ini index 86c545a..3417502 100644 --- a/tox.ini +++ b/tox.ini @@ -93,8 +93,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 a85246a0757126d48dcbf687d1b5880b7ae9821a Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 14:18:36 +0000 Subject: [PATCH 078/109] [repo-helper] Configuration Update (#65) * 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 f5e2633..f07fba5 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 043ad5c..16aef6a 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 9331805..33367d9 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} From 4c40154dc921e77f75bd18b8c03ea56e62dd672a Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 22:33:37 +0100 Subject: [PATCH 079/109] [repo-helper] Configuration Update (#66) * 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 3417502..ecd49f3 100644 --- a/tox.ini +++ b/tox.ini @@ -115,7 +115,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 @@ -211,8 +211,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 f88da561f3b19165bf9a3fe40addc6b490adcc46 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 16:14:44 +0000 Subject: [PATCH 080/109] [repo-helper] Configuration Update (#67) * Updated files with 'repo_helper'. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Updated files with 'repo_helper'. --------- Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- doc-source/conf.py | 6 ++++++ formate.toml | 16 ++++++++-------- pyproject.toml | 29 +++++++++++++---------------- 4 files changed, 28 insertions(+), 25 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 01e0065..800b9ed 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 65d1593..8ce77e9 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -74,5 +74,11 @@ 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) diff --git a/formate.toml b/formate.toml index a4a34ce..ef2e426 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" @@ -49,3 +45,7 @@ known_third_party = [ ] known_first_party = [ "sphinx_autofixture",] line_length = 115 + +[config] +indent = " " +line_length = 115 diff --git a/pyproject.toml b/pyproject.toml index c1beb0a..8c05557 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,14 +10,13 @@ readme = "README.rst" keywords = [ "documentation", "pytest", "sphinx", "sphinx-extension",] 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/sphinx-toolbox/sphinx-autofixture" "Issue Tracker" = "https://github.com/sphinx-toolbox/sphinx-autofixture/issues" @@ -66,7 +65,6 @@ extensions = [ "sphinx.ext.mathjax", "sphinxcontrib.extras_require", "sphinx.ext.todo", - "sphinxemoji.sphinxemoji", "notfound.extension", "sphinx_copybutton", "sphinxcontrib.default_values", @@ -77,7 +75,6 @@ extensions = [ "sphinx_autofixture", "html_section", ] -sphinxemoji_style = "twemoji" gitstamp_fmt = "%d %b %Y" templates_path = [ "_templates",] html_static_path = [ "_static",] @@ -137,6 +134,16 @@ show_error_codes = true [tool.snippet-fmt] directives = [ "code-block",] +[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.dep_checker] allowed_unused = [ "sphinx_jinja2_compat",] @@ -150,13 +157,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 cb1698d86dc0c8e5a324ec67af0569fbf85e437c Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 16:26:15 +0000 Subject: [PATCH 081/109] Bump Python 3.13 alpha (#68) 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 f07fba5..78b1f20 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 16aef6a..7d47798 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 33367d9..d2a3eb1 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} From 1719d1ac56b9379bbc141fe00c78cc7722c46975 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:58:22 +0100 Subject: [PATCH 082/109] Updated files with 'repo_helper'. (#69) 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 d2a3eb1..b314058 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 800b9ed..8533ba1 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: ^sphinx_autofixture/.*\.py$ diff --git a/tox.ini b/tox.ini index ecd49f3..cc31b1f 100644 --- a/tox.ini +++ b/tox.ini @@ -88,6 +88,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 58b136be6732b060504621fb1519e24978227a07 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 23:26:16 +0100 Subject: [PATCH 083/109] [repo-helper] Configuration Update (#70) * 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 ++-- tox.ini | 2 ++ 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 78b1f20..f4e2a60 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 7d47798..918fc8b 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index b314058..62b57ba 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-alpha.6", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} diff --git a/tox.ini b/tox.ini index cc31b1f..cdb6ebe 100644 --- a/tox.ini +++ b/tox.ini @@ -69,6 +69,7 @@ setenv = setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 + UNSAFE_PYO3_SKIP_VERSION_CHECK=1 [testenv:py312] setenv = @@ -254,6 +255,7 @@ setenv = setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 + UNSAFE_PYO3_SKIP_VERSION_CHECK=1 [testenv:py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] setenv = From c92dac33b519c75c38eff4c7d37f14aa07c09e13 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 19 Jun 2024 16:38:45 +0100 Subject: [PATCH 084/109] Exclude new attributes added in Python 3.13 from test output --- tests/doc-test/test-root/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/doc-test/test-root/index.rst b/tests/doc-test/test-root/index.rst index c24ff15..9a97d52 100644 --- a/tests/doc-test/test-root/index.rst +++ b/tests/doc-test/test-root/index.rst @@ -10,10 +10,10 @@ sphinx-autofixture Demo :members: tmp_pathplus :noindex: :no-docstring: - :exclude-members: __dict__ + :exclude-members: __dict__,__firstlineno__,__replace__,__static_attributes__ .. automodule:: tests.myproject :members: :undoc-members: :special-members: - :exclude-members: __dict__ + :exclude-members: __dict__,__firstlineno__,__replace__,__static_attributes__ From 250c9274e8d27ea4f9a5944b2f27c58134b7267d Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 19 Jun 2024 18:25:05 +0100 Subject: [PATCH 085/109] Updated files with 'repo_helper'. (#71) 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 | 6 +++--- .github/workflows/python_ci_linux.yml | 11 ++++++----- .github/workflows/python_ci_macos.yml | 4 ++-- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index d771dc7..652efac 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 f4e2a60..50d1e6b 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,11 +35,11 @@ jobs: - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "pypy-3.9-v7.3.15", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 918fc8b..23acb2a 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} @@ -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 πŸ”§ diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 62b57ba..b1e007d 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} From f37ca0332a3bd0c0817bac80570f3b8dba0d8ac7 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:33:21 +0100 Subject: [PATCH 086/109] Updated files with 'repo_helper'. (#72) 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 50d1e6b..4cec2a0 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 23acb2a..ba4b886 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index b1e007d..6a91f22 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.2", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} diff --git a/doc-source/conf.py b/doc-source/conf.py index 8ce77e9..bc7c1a8 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 bbd469b..a1014a1 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -13,6 +13,12 @@ sphinx-prompt>=1.1.0 sphinx-pyproject>=0.1.0 sphinx-tabs>=1.1.13 sphinx-toolbox>=3.5.0 +sphinxcontrib-applehelp==1.0.4 +sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-htmlhelp==2.0.1 sphinxcontrib-httpdomain>=1.7.0 +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 e9155b787e30a333e1847e23f3ce8352dc4352b2 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 30 Jul 2024 10:21:56 +0100 Subject: [PATCH 087/109] [repo-helper] Configuration Update (#73) * 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 | 2 -- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 4cec2a0..f6ae094 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index ba4b886..27adc5f 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 6a91f22..27f9c2a 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.3", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-beta.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index a1014a1..4971871 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -9,9 +9,7 @@ sphinx-copybutton>=0.2.12 sphinx-debuginfo>=0.2.2 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.5.0 sphinxcontrib-applehelp==1.0.4 sphinxcontrib-devhelp==1.0.2 From 5c5df484163ab3ff97996645261aea940f1db855 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 16:08:01 +0100 Subject: [PATCH 088/109] Updated files with 'repo_helper'. (#74) 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 f6ae094..846847d 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-rc.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 27adc5f..39ad543 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-rc.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 27f9c2a..00caa6d 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-beta.4", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13.0-rc.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} From 12ec80b6f35bbc4905ca2abcfda9849179a015e6 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 10:58:57 +0100 Subject: [PATCH 089/109] Updated files with 'repo_helper'. (#75) 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 | 3 +++ 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 846847d..1dac6be 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-rc.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 39ad543..c494ee7 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-rc.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 00caa6d..286899a 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13.0-rc.1", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8533ba1..f32ee0c 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 cdb6ebe..a762fd1 100644 --- a/tox.ini +++ b/tox.ini @@ -4,6 +4,7 @@ # * envlists # * testenv:.package # * testenv:py313-dev +# * testenv:py313 # * testenv:py312-dev # * testenv:py312 # * testenv:docs @@ -66,12 +67,14 @@ setenv = PIP_DISABLE_PIP_VERSION_CHECK=1 [testenv:py313-dev] +download = True setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 UNSAFE_PYO3_SKIP_VERSION_CHECK=1 [testenv:py312] +download = True setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 From cb18ce927fa7a25c3f16a9d5f3a4f3b8684bbd23 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 17 Oct 2024 14:30:50 +0100 Subject: [PATCH 090/109] Fix tests with newer alabaster versions. --- tests/test_directive.py | 16 ++++++++++++++-- .../test_output_36_index_html_.html | 4 ++-- .../test_output_36_pypy_index_html_.html | 4 ++-- tox.ini | 2 ++ 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/tests/test_directive.py b/tests/test_directive.py index 0941ff7..ee2c102 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -1,7 +1,7 @@ # stdlib import os from pathlib import Path -from typing import Any, Iterator +from typing import Any, Iterator, Tuple, no_type_check # 3rd party import pytest @@ -101,4 +101,16 @@ def test_output( div["src"] = div["src"].split("?v=")[0] print(div["src"]) - html_regression.check(page, jinja2=True) + html_regression.check(page, jinja2=True, jinja2_namespace={"alabaster_version": _get_alabaster_version()}) + + +@no_type_check +def _get_alabaster_version() -> Tuple[int, int, int]: + try: + # 3rd party + import alabaster._version as alabaster # type: ignore[import] + except ImportError: + # 3rd party + import alabaster # type: ignore[import] + + return tuple(map(int, alabaster.__version__.split('.'))) diff --git a/tests/test_directive_/test_output_36_index_html_.html b/tests/test_directive_/test_output_36_index_html_.html index 5bd13e2..165af58 100644 --- a/tests/test_directive_/test_output_36_index_html_.html +++ b/tests/test_directive_/test_output_36_index_html_.html @@ -28,8 +28,8 @@ {% endif %} - + {% if alabaster_version < (0, 7, 15) %} + {% endif %}
diff --git a/tests/test_directive_/test_output_36_pypy_index_html_.html b/tests/test_directive_/test_output_36_pypy_index_html_.html index 21c0519..45a4ba9 100644 --- a/tests/test_directive_/test_output_36_pypy_index_html_.html +++ b/tests/test_directive_/test_output_36_pypy_index_html_.html @@ -28,8 +28,8 @@ {% endif %} - + {% if alabaster_version < (0, 7, 15) %} + {% endif %}
diff --git a/tox.ini b/tox.ini index a762fd1..eb464ec 100644 --- a/tox.ini +++ b/tox.ini @@ -247,6 +247,8 @@ filterwarnings = always:datetime.datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version.:DeprecationWarning:sphinx.builders.gettext always:The alias 'sphinx.util.SkipProgressMessage' is deprecated, use 'sphinx.util.display.SkipProgressMessage' instead:DeprecationWarning:sphinxcontrib.applehelp always:The alias 'sphinx.util.progress_message' is deprecated, use 'sphinx.http_date.epoch_to_rfc1123' instead.:DeprecationWarning:sphinxcontrib.applehelp + always:The alias 'sphinx.util.typing.stringify' is deprecated, use 'sphinx.util.typing.stringify_annotation' instead. Check CHANGES for Sphinx API modifications.:DeprecationWarning + markers = sphinx [testenv:py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] From 9c5587efbf8790976f36f4b035d106777db4bbb4 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 17 Oct 2024 15:30:40 +0100 Subject: [PATCH 091/109] Fix tests with newer alabaster versions. (part 2) --- tests/test_directive_/test_output_310_index_html_.html | 4 ++-- tests/test_directive_/test_output_37_index_html_.html | 4 ++-- tests/test_directive_/test_output_37_pypy_index_html_.html | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index 3d03bff..3189f29 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -30,8 +30,8 @@ {% if sphinx_version >= (5, 2) %} {% endif %} - + {% endif %}{% if alabaster_version < (0, 7, 15) %} + {% endif %}
diff --git a/tests/test_directive_/test_output_37_index_html_.html b/tests/test_directive_/test_output_37_index_html_.html index 55f6a1d..6f41498 100644 --- a/tests/test_directive_/test_output_37_index_html_.html +++ b/tests/test_directive_/test_output_37_index_html_.html @@ -30,8 +30,8 @@ {% if sphinx_version >= (5, 2) %} {% endif %} - + {% endif %}{% if alabaster_version < (0, 7, 15) %} + {% endif %}
diff --git a/tests/test_directive_/test_output_37_pypy_index_html_.html b/tests/test_directive_/test_output_37_pypy_index_html_.html index 7b9fbd7..66a4e10 100644 --- a/tests/test_directive_/test_output_37_pypy_index_html_.html +++ b/tests/test_directive_/test_output_37_pypy_index_html_.html @@ -30,8 +30,8 @@ {% if sphinx_version >= (5, 2) %} {% endif %} - + {% endif %}{% if alabaster_version < (0, 7, 15) %} + {% endif %}
From 8702bf92be7064350b8f88344367d30bb8d2f0f8 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 13 Feb 2025 11:36:23 +0000 Subject: [PATCH 092/109] Update for latest beautifulsoup --- tests/test_directive.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/test_directive.py b/tests/test_directive.py index ee2c102..800f80f 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -1,11 +1,11 @@ # stdlib import os from pathlib import Path -from typing import Any, Iterator, Tuple, no_type_check +from typing import Any, Iterator, Tuple, Union, cast, no_type_check # 3rd party import pytest -from bs4 import BeautifulSoup, element # type: ignore[import] +from bs4 import BeautifulSoup, NavigableString, PageElement, Tag, element from coincidence import max_version, min_version, not_pypy, only_pypy, only_version from domdf_python_tools.paths import PathPlus from sphinx.application import Sphinx @@ -84,21 +84,23 @@ def test_output( version: str, ) -> None: - code: element.Tag + code: Union[PageElement, Tag, NavigableString] for code in page.find_all("code", attrs={"class": "sig-prename descclassname"}): - + assert isinstance(code, Tag) first_child = code.contents[0] if isinstance(first_child, element.Tag): code.contents = [first_child.contents[0]] for code in page.find_all("code", attrs={"class": "sig-name descname"}): + assert isinstance(code, Tag) first_child = code.contents[0] if isinstance(first_child, element.Tag): code.contents = [first_child.contents[0]] - for div in page.findAll("script"): + for div in page.find_all("script"): + assert isinstance(div, Tag) if div.get("src"): - div["src"] = div["src"].split("?v=")[0] + div["src"] = cast(str, div["src"]).split("?v=")[0] print(div["src"]) html_regression.check(page, jinja2=True, jinja2_namespace={"alabaster_version": _get_alabaster_version()}) From cde42959e9ed6e5acdd87f2171e68f71d6e40117 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 13 Feb 2025 11:39:01 +0000 Subject: [PATCH 093/109] Lint --- tests/myproject.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/myproject.py b/tests/myproject.py index 9d917a4..d1ae879 100644 --- a/tests/myproject.py +++ b/tests/myproject.py @@ -18,9 +18,9 @@ class A: __all__.append('A') -def foo(): +def foo() -> Callable: - def bar(): + def bar(): # noqa: MAN002 """ A locally defined function. """ @@ -32,7 +32,7 @@ def bar(): # fizbuzz = foo() -def create_fizbuzz(): +def create_fizbuzz(): # noqa: MAN002 # Based on the dataclass module from CPython locals = {"BUILTINS": builtins} # noqa: A001 # pylint: disable=redefined-builtin local_vars = ", ".join(locals.keys()) From 7328768b5c8a86a2f3bf11b90ffd94164bed68be Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Thu, 13 Feb 2025 13:32:53 +0000 Subject: [PATCH 094/109] Updated files with 'repo_helper'. (#76) 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 +- tox.ini | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f32ee0c..d1e334a 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 ff8bcc6..8d9a01c 100644 --- a/README.rst +++ b/README.rst @@ -114,7 +114,7 @@ and `the documentation for coincidence`_ for an example with the ReadTheDocs the :target: https://github.com/sphinx-toolbox/sphinx-autofixture/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/sphinx-autofixture diff --git a/doc-source/index.rst b/doc-source/index.rst index 3a2dca0..db351b2 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -114,7 +114,7 @@ sphinx-autofixture :last-commit: :alt: GitHub last commit - .. |maintained| maintained-shield:: 2024 + .. |maintained| maintained-shield:: 2025 :alt: Maintenance .. |pypi-downloads| pypi-shield:: diff --git a/tox.ini b/tox.ini index eb464ec..c7921ca 100644 --- a/tox.ini +++ b/tox.ini @@ -248,15 +248,16 @@ filterwarnings = always:The alias 'sphinx.util.SkipProgressMessage' is deprecated, use 'sphinx.util.display.SkipProgressMessage' instead:DeprecationWarning:sphinxcontrib.applehelp always:The alias 'sphinx.util.progress_message' is deprecated, use 'sphinx.http_date.epoch_to_rfc1123' instead.:DeprecationWarning:sphinxcontrib.applehelp always:The alias 'sphinx.util.typing.stringify' is deprecated, use 'sphinx.util.typing.stringify_annotation' instead. Check CHANGES for Sphinx API modifications.:DeprecationWarning - markers = sphinx [testenv:py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] +download = True setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 [testenv:py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] +download = True setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 From 722ba85c0a28282387b804a4b3da9811214254e8 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 7 Apr 2025 14:58:27 +0100 Subject: [PATCH 095/109] 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 | 34 +-------------------------- tox.ini | 19 ++++++++------- 6 files changed, 19 insertions(+), 53 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 1dac6be..02c0976 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5},build", experimental: False} - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5}", experimental: False} + - {python-version: "3.13", testenvs: "py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9-v7.3.15", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index c494ee7..7091b90 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5},build", experimental: False} - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} - - {python-version: "pypy-3.6", testenvs: "pypy36-sphinx{3.2,3.3,3.4,3.5},build", experimental: False} + - {python-version: "3.13", testenvs: "py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 286899a..946cdb1 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5},build", experimental: False} - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13", testenvs: "py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.13", testenvs: "py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} diff --git a/pyproject.toml b/pyproject.toml index 8c05557..0b2ceab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,7 @@ base-classifiers = [ "Topic :: Software Development :: Documentation", "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 6c2a1c3..71318c8 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -18,19 +18,6 @@ min_coverage: 95 # Versions to run tests for python_versions: - '3.6': - matrix_exclude: - sphinx: - - 5.0 - - 5.1 - - 5.2 - - 5.3 - - 6.0 - - 6.1 - - 6.2 - - 7.0 - - 7.1 - - 7.2 '3.7': matrix_exclude: sphinx: @@ -48,26 +35,7 @@ python_versions: '3.10': "3.11": "3.12": - 3.13-dev: - pypy36: - matrix_exclude: - sphinx: - - 4.0 - - 4.1 - - 4.2 - - 4.3 - - 4.4 - - 4.5 - - 5.0 - - 5.1 - - 5.2 - - 5.3 - - 6.0 - - 6.1 - - 6.2 - - 7.0 - - 7.1 - - 7.2 + 3.13: pypy37: matrix_exclude: sphinx: diff --git a/tox.ini b/tox.ini index c7921ca..7f28fd6 100644 --- a/tox.ini +++ b/tox.ini @@ -22,15 +22,13 @@ [tox] envlist = - py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5} py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - pypy36-sphinx{3.2,3.3,3.4,3.5} + py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} @@ -46,15 +44,13 @@ requires = [envlists] test = - py36-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5} py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - pypy36-sphinx{3.2,3.3,3.4,3.5} + py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} @@ -66,7 +62,7 @@ setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 -[testenv:py313-dev] +[testenv:py313] download = True setenv = PYTHONDEVMODE=1 @@ -199,7 +195,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 @@ -256,6 +252,13 @@ setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 +[testenv:py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] +download = True +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + UNSAFE_PYO3_SKIP_VERSION_CHECK=1 + [testenv:py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] download = True setenv = From 0e2c21001f109ff40370bbc02b8ee46c9d908cc6 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 10:10:34 +0100 Subject: [PATCH 096/109] Bump Ubuntu to 22.04 (#78) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/mypy.yml | 2 +- .github/workflows/python_ci_linux.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) 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 7091b90..7b4980e 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 bda1c5f2cbd87fc2f7d37380e8df99acd1edbb33 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 15:14:36 +0100 Subject: [PATCH 097/109] Run Flake8 CI on Ubuntu 22.04 (#80) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .github/workflows/flake8.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 πŸ›ŽοΈ From 71f70f387a5aca2b2cd9e97b54687529d9953acd Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 09:36:37 +0100 Subject: [PATCH 098/109] [repo-helper] Configuration Update (#81) * 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 946cdb1..48d8efa 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13", testenvs: "py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.7", os-ver: "13", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} + - {python-version: "3.8", os-ver: "14", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.9", os-ver: "14", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.10", os-ver: "14", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.11", os-ver: "14", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.12", os-ver: "14", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "3.13", os-ver: "14", testenvs: "py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "pypy-3.7", os-ver: "13", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} + - {python-version: "pypy-3.8", os-ver: "14", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} + - {python-version: "pypy-3.9", os-ver: "14", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.readthedocs.yml b/.readthedocs.yml index e928b70..83fc025 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 6f6ac5bd247cbff467d47fb021421e8257fb7b19 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:42:24 +0100 Subject: [PATCH 099/109] Updated files with 'repo_helper'. (#82) 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 02c0976..ef52f48 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 7b4980e..c6883d3 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 48d8efa..547e8c5 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 d1e334a..3f31ad0 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 f48b60065fe6b27c09d89592556b7fe8d2212042 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 4 Jun 2025 15:13:38 +0100 Subject: [PATCH 100/109] Remove old Python 3.6 reference output. --- .../test_output_36_index_html_.html | 208 ------------------ .../test_output_36_pypy_index_html_.html | 208 ------------------ 2 files changed, 416 deletions(-) delete mode 100644 tests/test_directive_/test_output_36_index_html_.html delete mode 100644 tests/test_directive_/test_output_36_pypy_index_html_.html diff --git a/tests/test_directive_/test_output_36_index_html_.html b/tests/test_directive_/test_output_36_index_html_.html deleted file mode 100644 index 165af58..0000000 --- a/tests/test_directive_/test_output_36_index_html_.html +++ /dev/null @@ -1,208 +0,0 @@ -{% macro span_pre(text, indent='', min_version=(3, 5)) -%} -{% if sphinx_version >= min_version %} -{{ indent }} {{ text }} -{{ indent }}{% else %}{{ text }}{% endif %} -{%- endmacro -%} -{% set heading = ("heading" if sphinx_version >= (5, 0) else 'headline') -%} -{% set sig_prename_tag=("span" if sphinx_version >= (4, 0) else 'code') -%} -{% set sig_object_class=(' class="sig sig-object py"' if sphinx_version >= (4, 0) else '') -%} -{% set section = ("section", "section") if docutils_version >= (0, 17) else ('div class="section"', "div") -%} - -= (5, 0) %} lang="en"{% endif %}> - - - - {% if docutils_version[1] == 18 %} - {% elif docutils_version[1] == 17 %} - {% elif docutils_version[1] == 19 %} - {% elif docutils_version[1] == 20 %} - {% endif %} - sphinx-autofixture Demo β€” Python documentation - - - - {% if sphinx_version >= (5, 0) %} - {% endif %} - {% if alabaster_version < (0, 7, 15) %} - {% endif %} - - -
-
-

- - Scope: - - function -

-

- Pytest fixture which returns a temporary directory in the form of a - - - PathPlus - - - object. -

-

- The directory is unique to each test function invocation, -created as a sub directory of the base temporary directory. -

-

- Use it as follows: -

-
-
-
pytest_plugins = ("coincidence", )
-
-def test_something(tmp_pathplus: PathPlus):
-        assert True
-
-
-
-
-
-

- - - - coincidence.fixtures.tmp_pathplus - - - -

-
- - - {{ span_pre("fixture", " ", (3, 5)) }} - - <{{ sig_prename_tag }} class="sig-prename descclassname"> - {{ span_pre("coincidence.fixtures.", " ") }} - - <{{ sig_prename_tag }} class="sig-name descname"> - {{ span_pre("tmp_pathplus", " ") }} - -

-
-

- - Scope: - - function -

-

- Pytest fixture which returns a temporary directory in the form of a - - - PathPlus - - - object. -

-

- The directory is unique to each test function invocation, -created as a sub directory of the base temporary directory. -

-

- Use it as follows: -

-
-
-
pytest_plugins = ("coincidence", )
-
-def test_something(tmp_pathplus: PathPlus):
-        assert True
-
-
-
-
-
- - -
- - <{{ sig_prename_tag }} class="sig-prename descclassname"> - {{ span_pre("tests.myproject.", " ") }} - - <{{ sig_prename_tag }} class="sig-name descname"> - {{ span_pre("baz", " ") }} - - - ( - - - ) - - - ΒΆ - -
-
-

- A locally defined function. -

-
-
-
- - <{{ sig_prename_tag }} class="sig-prename descclassname"> - {{ span_pre("tests.myproject.", " ") }} - - <{{ sig_prename_tag }} class="sig-name descname"> - {{ span_pre("fizbuzz", " ") }} - - - ( - - - ) - - - ΒΆ - -

-
-

- A locally defined function. -

-
-
- = (0, 17) %}section{% else %}div{% endif %}> - - - -
-
- - - diff --git a/tests/test_directive_/test_output_36_pypy_index_html_.html b/tests/test_directive_/test_output_36_pypy_index_html_.html deleted file mode 100644 index 45a4ba9..0000000 --- a/tests/test_directive_/test_output_36_pypy_index_html_.html +++ /dev/null @@ -1,208 +0,0 @@ -{% macro span_pre(text, indent='', min_version=(3, 5)) -%} -{% if sphinx_version >= (3, 5) %} -{{ indent }} {{ text }} -{{ indent }}{% else %}{{ text }}{% endif %} -{%- endmacro -%} -{% set heading = ("heading" if sphinx_version >= (5, 0) else 'headline') -%} -{% set sig_prename_tag=("span" if sphinx_version >= (4, 0) else 'code') -%} -{% set sig_object_class=(' class="sig sig-object py"' if sphinx_version >= (4, 0) else '') -%} -{% set section = ("section", "section") if docutils_version >= (0, 17) else ('div class="section"', "div") -%} - -= (5, 0) %} lang="en"{% endif %}> - - - - {% if docutils_version[1] == 18 %} - {% elif docutils_version[1] == 17 %} - {% elif docutils_version[1] == 19 %} - {% elif docutils_version[1] == 20 %} - {% endif %} - sphinx-autofixture Demo β€” Python documentation - - - - {% if sphinx_version >= (5, 0) %} - {% endif %} - {% if alabaster_version < (0, 7, 15) %} - {% endif %} - - -
-
-
-
- <{% if docutils_version >= (0, 17) %}section{% else %}div class="section"{% endif %} id="sphinx-autofixture-demo"> -

- sphinx-autofixture Demo - - ΒΆ - -

-
- - - {{ span_pre("fixture", " ") }} - - <{{ sig_prename_tag }} class="sig-prename descclassname"> - {{ span_pre("coincidence.fixtures.", " ") }} - - <{{ sig_prename_tag }} class="sig-name descname"> - {{ span_pre("tmp_pathplus", " ") }} - - - ΒΆ - -
-
-

- - Scope: - - function -

-

- Pytest fixture which returns a temporary directory in the form of a - - - PathPlus - - - object. -

-

- The directory is unique to each test function invocation, -created as a sub directory of the base temporary directory. -

-

- Use it as follows: -

-
-
-
pytest_plugins = ("coincidence", )
-
-def test_something(tmp_pathplus: PathPlus):
-        assert True
-
-
-
-
-
-

- - - - coincidence.fixtures.tmp_pathplus - - - -

-
- - - {{ span_pre("fixture", " ") }} - - <{{ sig_prename_tag }} class="sig-prename descclassname"> - {{ span_pre("coincidence.fixtures.", " ") }} - - <{{ sig_prename_tag }} class="sig-name descname"> - {{ span_pre("tmp_pathplus", " ") }} - -

-
-

- - Scope: - - function -

-

- Pytest fixture which returns a temporary directory in the form of a - - - PathPlus - - - object. -

-

- The directory is unique to each test function invocation, -created as a sub directory of the base temporary directory. -

-

- Use it as follows: -

-
-
-
pytest_plugins = ("coincidence", )
-
-def test_something(tmp_pathplus: PathPlus):
-        assert True
-
-
-
-
-
- - -
- - <{{ sig_prename_tag }} class="sig-prename descclassname"> - {{ span_pre("tests.myproject.", " ") }} - - <{{ sig_prename_tag }} class="sig-name descname"> - {{ span_pre("baz", " ") }} - - - ( - - - ) - - - ΒΆ - -
-
-

- A locally defined function. -

-
-
-
- - <{{ sig_prename_tag }} class="sig-prename descclassname"> - {{ span_pre("tests.myproject.", " ") }} - - <{{ sig_prename_tag }} class="sig-name descname"> - {{ span_pre("fizbuzz", " ") }} - - - ( - - - ) - - - ΒΆ - -

-
-

- A locally defined function. -

-
-
- = (0, 17) %}section{% else %}div{% endif %}> - - - -
-
- - - From abf3f09e4f5c227b8e8ae80e7dd583ffe53ac535 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 4 Jun 2025 15:55:34 +0100 Subject: [PATCH 101/109] Test against multiple pytest versions and newer Sphinx versions --- .github/workflows/python_ci.yml | 20 +- .github/workflows/python_ci_linux.yml | 20 +- .github/workflows/python_ci_macos.yml | 20 +- formate.toml | 1 + repo_helper.yml | 118 +++++++++- sphinx_autofixture/__init__.py | 10 +- tests/doc-test/test-root/conf.py | 1 + tests/requirements.txt | 3 +- tests/test_directive.py | 9 +- .../test_output_310_index_html_.html | 51 ++-- .../test_output_37_index_html_.html | 49 ++-- .../test_output_37_pypy_index_html_.html | 49 ++-- tests/test_sphinx_version.py | 22 ++ tox.ini | 217 +++++++++++++----- 14 files changed, 427 insertions(+), 163 deletions(-) create mode 100644 tests/test_sphinx_version.py diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index ef52f48..546a7f0 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -28,16 +28,16 @@ jobs: fail-fast: False matrix: config: - - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13", testenvs: "py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "pypy-3.9-v7.3.15", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},py37-pytest7.4,build", experimental: False} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},py38-pytest{7.4,8.3},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},py39-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1},py310-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py311-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.12", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py312-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.13", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3},pypy37-pytest7.4,build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},pypy38-pytest{7.4,8.3},build", experimental: False} + - {python-version: "pypy-3.9-v7.3.15", testenvs: "pypy39-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},pypy39-pytest{7.4,8.3,latest},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index c6883d3..c6cfc9f 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -29,16 +29,16 @@ jobs: fail-fast: False matrix: config: - - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.12", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13", testenvs: "py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.7", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},py37-pytest7.4,build", experimental: False} + - {python-version: "3.8", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},py38-pytest{7.4,8.3},build", experimental: False} + - {python-version: "3.9", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},py39-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1},py310-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py311-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.12", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py312-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.13", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3},pypy37-pytest7.4,build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},pypy38-pytest{7.4,8.3},build", experimental: False} + - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},pypy39-pytest{7.4,8.3,latest},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 547e8c5..760d5e6 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -28,16 +28,16 @@ jobs: fail-fast: False matrix: config: - - {python-version: "3.7", os-ver: "13", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - - {python-version: "3.8", os-ver: "14", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.9", os-ver: "14", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.10", os-ver: "14", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.11", os-ver: "14", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.12", os-ver: "14", testenvs: "py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "3.13", os-ver: "14", testenvs: "py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "pypy-3.7", os-ver: "13", testenvs: "pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},build", experimental: False} - - {python-version: "pypy-3.8", os-ver: "14", testenvs: "pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: False} - - {python-version: "pypy-3.9", os-ver: "14", testenvs: "pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},build", experimental: True} + - {python-version: "3.7", os-ver: "13", testenvs: "py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},py37-pytest7.4,build", experimental: False} + - {python-version: "3.8", os-ver: "14", testenvs: "py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},py38-pytest{7.4,8.3},build", experimental: False} + - {python-version: "3.9", os-ver: "14", testenvs: "py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},py39-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.10", os-ver: "14", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1},py310-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.11", os-ver: "14", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py311-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.12", os-ver: "14", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py312-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.13", os-ver: "14", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "pypy-3.7", os-ver: "13", testenvs: "pypy37-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3},pypy37-pytest7.4,build", experimental: False} + - {python-version: "pypy-3.8", os-ver: "14", testenvs: "pypy38-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},pypy38-pytest{7.4,8.3},build", experimental: False} + - {python-version: "pypy-3.9", os-ver: "14", testenvs: "pypy39-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},pypy39-pytest{7.4,8.3,latest},build", experimental: True} steps: - name: Checkout πŸ›ŽοΈ diff --git a/formate.toml b/formate.toml index ef2e426..25f5c52 100644 --- a/formate.toml +++ b/formate.toml @@ -31,6 +31,7 @@ known_third_party = [ "coincidence", "coverage", "coverage_pyver_pragma", + "defusedxml", "domdf_python_tools", "github", "importlib_metadata", diff --git a/repo_helper.yml b/repo_helper.yml index 71318c8..d46558b 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -20,6 +20,9 @@ min_coverage: 95 python_versions: '3.7': matrix_exclude: + pytest: + - 8.3 + - latest sphinx: - 6.0 - 6.1 @@ -27,29 +30,123 @@ python_versions: - 7.0 - 7.1 - 7.2 + - 7.3 + - 7.4 + - 8.0 + - 8.1 + - 8.2 + - latest '3.8': matrix_exclude: + pytest: + - latest sphinx: - 7.2 - '3.9': - '3.10': + - 7.3 + - 7.4 + - 8.0 + - 8.1 + - 8.2 + - latest + 3.9: + matrix_exclude: + sphinx: + - 8.0 + - 8.1 + - 8.2 + "3.10": + matrix_exclude: + sphinx: + - 8.2 "3.11": "3.12": - 3.13: + matrix_exclude: + sphinx: + - 3.2 + - 3.3 + - 3.4 + - 3.5 + - 4.0 + - 4.1 + - 4.2 + - 4.3 + "3.13": + matrix_exclude: + sphinx: + - 3.2 + - 3.3 + - 3.4 + - 3.5 + - 4.0 + - 4.1 + - 4.2 + - 4.3 + - 4.4 + - 4.5 + - 5.0 + - 5.1 + - 5.2 + - 5.3 + - 6.0 + - 6.1 pypy37: matrix_exclude: + pytest: + - 8.3 + - latest sphinx: + - 3.2 + - 3.3 + - 3.4 + - 3.5 + - 4.0 + - 4.1 + - 4.2 - 6.0 - 6.1 - 6.2 - 7.0 - 7.1 - 7.2 + - 7.3 + - 7.4 + - 8.0 + - 8.1 + - 8.2 + - latest pypy38: matrix_exclude: + pytest: + - latest sphinx: + - 3.2 + - 3.3 + - 3.4 + - 3.5 + - 4.0 + - 4.1 + - 4.2 - 7.2 + - 7.3 + - 7.4 + - 8.0 + - 8.1 + - 8.2 + - latest pypy39: + matrix_exclude: + sphinx: + - 3.2 + - 3.3 + - 3.4 + - 3.5 + - 4.0 + - 4.1 + - 4.2 + - 8.0 + - 8.1 + - 8.2 + - latest conda_channels: - conda-forge @@ -79,7 +176,16 @@ third_party_version_matrix: - 6.2 - 7.0 - 7.1 - # - 7.2 + - 7.2 + - 7.3 + - 7.4 + - 8.0 + - 8.1 + - 8.2 + pytest: + - 7.4 + - 8.3 + - latest keywords: - sphinx @@ -98,6 +204,4 @@ classifiers: exclude_files: - contributing - -tox_unmanaged: - - testenv + - tox diff --git a/sphinx_autofixture/__init__.py b/sphinx_autofixture/__init__.py index d0350e7..368ff4a 100644 --- a/sphinx_autofixture/__init__.py +++ b/sphinx_autofixture/__init__.py @@ -50,6 +50,14 @@ __all__ = ["FixtureDecoratorFinder", "FixtureDocumenter", "is_fixture", "setup"] +try: # pragma: no cover + # 3rd party + from _pytest.fixtures import FixtureFunctionDefinition +except ImportError: # pragma: no cover + + class FixtureFunctionDefinition: + pass + class FixtureDecoratorFinder(ast.NodeVisitor): """ @@ -160,7 +168,7 @@ def can_document_member( :param parent: The parent of the member. """ - if isinstance(member, FunctionType): + if isinstance(member, (FunctionType, FixtureFunctionDefinition)): return is_fixture(member)[0] else: # pragma: no cover return False diff --git a/tests/doc-test/test-root/conf.py b/tests/doc-test/test-root/conf.py index 36055e4..b2ccf4c 100644 --- a/tests/doc-test/test-root/conf.py +++ b/tests/doc-test/test-root/conf.py @@ -5,3 +5,4 @@ ] package_root = "dummy_package" +project = "Python" diff --git a/tests/requirements.txt b/tests/requirements.txt index d1d77c7..830698f 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,9 +1,10 @@ coincidence>=0.2.0 coverage>=5.1 coverage-pyver-pragma>=0.2.1 +defusedxml>=0.7.1 importlib-metadata>=3.6.0 pytest>=6.0.0 pytest-cov>=2.8.1 pytest-randomly>=3.7.0 pytest-timeout>=1.4.2 -sphinx-toolbox[testing]>=2.13.0b1 +sphinx-toolbox[testing]>=4.0.0 diff --git a/tests/test_directive.py b/tests/test_directive.py index 800f80f..79b01c8 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -1,17 +1,24 @@ # stdlib import os +import pathlib from pathlib import Path from typing import Any, Iterator, Tuple, Union, cast, no_type_check # 3rd party import pytest +import sphinx from bs4 import BeautifulSoup, NavigableString, PageElement, Tag, element from coincidence import max_version, min_version, not_pypy, only_pypy, only_version from domdf_python_tools.paths import PathPlus from sphinx.application import Sphinx -from sphinx.testing.path import path from sphinx_toolbox.testing import HTMLRegressionFixture +if sphinx.version_info >= (7, 2): + path = pathlib.Path +else: + # 3rd party + from sphinx.testing.path import path # type: ignore[misc] + pytest_plugins = "sphinx.testing.fixtures" diff --git a/tests/test_directive_/test_output_310_index_html_.html b/tests/test_directive_/test_output_310_index_html_.html index 3189f29..7b39c2b 100644 --- a/tests/test_directive_/test_output_310_index_html_.html +++ b/tests/test_directive_/test_output_310_index_html_.html @@ -3,23 +3,30 @@ {{ indent }} {{ text }} {{ indent }}{% else %}{{ text }}{% endif %} {%- endmacro -%} +{% macro span_target (module, indent='', min_version=(7, 2)) -%} +{% if sphinx_version >= min_version %}
{% else %} +{{ indent }} +{{ indent }}
{% endif %} +{%- endmacro -%} +{% set permalink = ("Link" if sphinx_version >= (7, 2) else 'Permalink') -%} {% set heading = ("heading" if sphinx_version >= (5, 0) else 'headline') -%} {% set sig_prename_tag=("span" if sphinx_version >= (4, 0) else 'code') -%} {% set sig_object_class=(' class="sig sig-object py"' if sphinx_version >= (4, 0) else '') -%} {% set section = ("section", "section") if docutils_version >= (0, 17) else ('div class="section"', "div") -%} -= (5, 0) %} lang="en"{% endif %}> += (7, 2) %} data-content_root="./"{% endif %}{% if sphinx_version >= (5, 0) %} lang="en"{% endif %}> {% if docutils_version[1] == 18 %} {% elif docutils_version[1] == 17 %} {% elif docutils_version[1] == 19 %} - {% elif docutils_version[1] == 20 %} + {% elif docutils_version[1] >= 20 %} {% endif %} sphinx-autofixture Demo β€” Python documentation - - {% if sphinx_version < (6, 0) %} @@ -41,7 +48,7 @@ <{% if docutils_version >= (0, 17) %}section{% else %}div class="section"{% endif %} id="sphinx-autofixture-demo">

sphinx-autofixture Demo - + ΒΆ

@@ -56,7 +63,7 @@

<{{ sig_prename_tag }} class="sig-name descname"> {{ span_pre("tmp_pathplus", " ") }} - + ΒΆ

@@ -149,9 +156,7 @@

- - -
+ {{ span_target("tests.myproject", " ")}} {{ span_pre("class", " ", (3, 5)) }} @@ -162,7 +167,7 @@

<{{ sig_prename_tag }} class="sig-name descname"> {{ span_pre("A", " ") }} - + ΒΆ

@@ -184,7 +189,7 @@

{% else %} = {}{% endif %} - + ΒΆ

@@ -205,7 +210,7 @@

{% else %} = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False{{ DataclassParams_end_args }}){% endif %} - + ΒΆ

@@ -228,7 +233,7 @@

) - + ΒΆ

@@ -252,7 +257,7 @@

{% else %} = None{% endif %} - + ΒΆ

@@ -285,7 +290,7 @@

None {% else %} β†’ None{% endif %} - + ΒΆ

@@ -309,7 +314,7 @@

{% else %} = (){% endif %} - + ΒΆ

@@ -330,7 +335,7 @@

{% else %} = 'tests.myproject'{% endif %} - + ΒΆ

@@ -348,7 +353,7 @@

) - + ΒΆ

@@ -363,7 +368,7 @@

<{{ sig_prename_tag }} class="sig-name descname"> {{ span_pre("__weakref__", " ") }} - + ΒΆ

@@ -389,7 +394,7 @@

) - + ΒΆ

@@ -413,7 +418,7 @@

) - + ΒΆ

@@ -423,7 +428,9 @@

- = (0, 17) %}section{% else %}div{% endif %}> + = (0, 17) %}section{% else %}div{% endif %}>{% if sphinx_version >= (8, 1) %} +
+
{% endif %} diff --git a/tests/test_directive_/test_output_37_index_html_.html b/tests/test_directive_/test_output_37_index_html_.html index 6f41498..bdfc0b2 100644 --- a/tests/test_directive_/test_output_37_index_html_.html +++ b/tests/test_directive_/test_output_37_index_html_.html @@ -3,23 +3,30 @@ {{ indent }} {{ text }} {{ indent }}{% else %}{{ text }}{% endif %} {%- endmacro -%} +{% macro span_target (module, indent='', min_version=(7, 2)) -%} +{% if sphinx_version >= min_version %}
{% else %} +{{ indent }} +{{ indent }}
{% endif %} +{%- endmacro -%} +{% set permalink = ("Link" if sphinx_version >= (7, 2) else 'Permalink') -%} {% set heading = ("heading" if sphinx_version >= (5, 0) else 'headline') -%} {% set sig_prename_tag=("span" if sphinx_version >= (4, 0) else 'code') -%} {% set sig_object_class=(' class="sig sig-object py"' if sphinx_version >= (4, 0) else '') -%} {% set section = ("section", "section") if docutils_version >= (0, 17) else ('div class="section"', "div") -%} -= (5, 0) %} lang="en"{% endif %}> += (7, 2) %} data-content_root="./"{% endif %}{% if sphinx_version >= (5, 0) %} lang="en"{% endif %}> {% if docutils_version[1] == 18 %} {% elif docutils_version[1] == 17 %} {% elif docutils_version[1] == 19 %} - {% elif docutils_version[1] == 20 %} + {% elif docutils_version[1] >= 20 %} {% endif %} sphinx-autofixture Demo β€” Python documentation - - {% if sphinx_version < (6, 0) %} @@ -41,7 +48,7 @@ <{% if docutils_version >= (0, 17) %}section{% else %}div class="section"{% endif %} id="sphinx-autofixture-demo">

sphinx-autofixture Demo - + ΒΆ

@@ -56,7 +63,7 @@

<{{ sig_prename_tag }} class="sig-name descname"> {{ span_pre("tmp_pathplus", " ") }} - + ΒΆ

@@ -149,9 +156,7 @@

- - -
+ {{ span_target("tests.myproject", " ")}} {{ span_pre("class", " ", (3, 5)) }} @@ -162,7 +167,7 @@

<{{ sig_prename_tag }} class="sig-name descname"> {{ span_pre("A", " ") }} - + ΒΆ

@@ -184,7 +189,7 @@

{% else %} = {}{% endif %} - + ΒΆ

@@ -205,7 +210,7 @@

{% else %} = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False){% endif %} - + ΒΆ @@ -228,7 +233,7 @@

) - + ΒΆ @@ -252,7 +257,7 @@

{% else %} = None{% endif %} - + ΒΆ @@ -285,7 +290,7 @@

None {% else %} β†’ None{% endif %} - + ΒΆ @@ -309,7 +314,7 @@

{% else %} = 'tests.myproject'{% endif %} - + ΒΆ @@ -327,7 +332,7 @@

) - + ΒΆ @@ -342,7 +347,7 @@

<{{ sig_prename_tag }} class="sig-name descname"> {{ span_pre("__weakref__", " ") }} - + ΒΆ @@ -368,7 +373,7 @@

) - + ΒΆ @@ -392,7 +397,7 @@

) - + ΒΆ @@ -402,7 +407,9 @@

- = (0, 17) %}section{% else %}div{% endif %}> + = (0, 17) %}section{% else %}div{% endif %}>{% if sphinx_version >= (8, 1) %} +
+
{% endif %} diff --git a/tests/test_directive_/test_output_37_pypy_index_html_.html b/tests/test_directive_/test_output_37_pypy_index_html_.html index 66a4e10..ef3551e 100644 --- a/tests/test_directive_/test_output_37_pypy_index_html_.html +++ b/tests/test_directive_/test_output_37_pypy_index_html_.html @@ -3,23 +3,30 @@ {{ indent }} {{ text }} {{ indent }}
{% else %}{{ text }}{% endif %} {%- endmacro -%} +{% macro span_target (module, indent='', min_version=(7, 2)) -%} +{% if sphinx_version >= min_version %}
{% else %} +{{ indent }} +{{ indent }}
{% endif %} +{%- endmacro -%} +{% set permalink = ("Link" if sphinx_version >= (7, 2) else 'Permalink') -%} {% set heading = ("heading" if sphinx_version >= (5, 0) else 'headline') -%} {% set sig_prename_tag=("span" if sphinx_version >= (4, 0) else 'code') -%} {% set sig_object_class=(' class="sig sig-object py"' if sphinx_version >= (4, 0) else '') -%} {% set section = ("section", "section") if docutils_version >= (0, 17) else ('div class="section"', "div") -%} -= (5, 0) %} lang="en"{% endif %}> += (7, 2) %} data-content_root="./"{% endif %}{% if sphinx_version >= (5, 0) %} lang="en"{% endif %}> {% if docutils_version[1] == 18 %} {% elif docutils_version[1] == 17 %} {% elif docutils_version[1] == 19 %} - {% elif docutils_version[1] == 20 %} + {% elif docutils_version[1] >= 20 %} {% endif %} sphinx-autofixture Demo β€” Python documentation - - {% if sphinx_version < (6, 0) %} @@ -41,7 +48,7 @@ <{% if docutils_version >= (0, 17) %}section{% else %}div class="section"{% endif %} id="sphinx-autofixture-demo">

sphinx-autofixture Demo - + ΒΆ

@@ -56,7 +63,7 @@

<{{ sig_prename_tag }} class="sig-name descname"> {{ span_pre("tmp_pathplus", " ") }} - + ΒΆ @@ -149,9 +156,7 @@

- - -
+ {{ span_target("tests.myproject", " ")}} {{ span_pre("class", " ", (3, 5)) }} @@ -162,7 +167,7 @@

<{{ sig_prename_tag }} class="sig-name descname"> {{ span_pre("A", " ") }} - + ΒΆ @@ -184,7 +189,7 @@

{% else %} = {}{% endif %} - + ΒΆ @@ -205,7 +210,7 @@

{% else %} = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False){% endif %} - + ΒΆ @@ -228,7 +233,7 @@

) - + ΒΆ @@ -249,7 +254,7 @@

{% else %} = None{% endif %} - + ΒΆ @@ -282,7 +287,7 @@

None {% else %} β†’ None{% endif %} - + ΒΆ @@ -303,7 +308,7 @@

{% else %} = 'tests.myproject'{% endif %} - + ΒΆ @@ -321,7 +326,7 @@

) - + ΒΆ @@ -342,7 +347,7 @@

{% else %} = None{% endif %} - + ΒΆ @@ -365,7 +370,7 @@

) - + ΒΆ @@ -389,7 +394,7 @@

) - + ΒΆ @@ -399,7 +404,9 @@

- = (0, 17) %}section{% else %}div{% endif %}> + = (0, 17) %}section{% else %}div{% endif %}>{% if sphinx_version >= (8, 1) %} +
+
{% endif %} diff --git a/tests/test_sphinx_version.py b/tests/test_sphinx_version.py new file mode 100644 index 0000000..14846f2 --- /dev/null +++ b/tests/test_sphinx_version.py @@ -0,0 +1,22 @@ +# stdlib +import os +import re + +# 3rd party +import sphinx +from domdf_python_tools.compat import importlib_metadata + + +def test_sphinx_version_against_tox(): + m = re.match(r"py.*-sphinx(\d)\.(\d)", os.getenv("TOX_ENV_NAME", '')) + if m is not None: + target_version = tuple(map(int, m.groups())) + assert target_version == sphinx.version_info[:2] + + +def test_pytest_version_against_tox(): + m = re.match(r"py.*-pytest(\d)\.(\d)", os.getenv("TOX_ENV_NAME", '')) + if m is not None: + target_version = tuple(map(int, m.groups())) + pytest_version = tuple(map(int, importlib_metadata.version("pytest").split('.')[:2])) + assert target_version == pytest_version diff --git a/tox.ini b/tox.ini index 7f28fd6..e271a62 100644 --- a/tox.ini +++ b/tox.ini @@ -22,16 +22,26 @@ [tox] envlist = - py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} + py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} - pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4} + py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1} + py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} + py312-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} + py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} + pypy37-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3} + pypy38-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + pypy39-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4} + py37-pytest7.4 + py38-pytest{7.4,8.3} + py39-pytest{7.4,8.3,latest} + py310-pytest{7.4,8.3,latest} + py311-pytest{7.4,8.3,latest} + py312-pytest{7.4,8.3,latest} + py313-pytest{7.4,8.3,latest} + pypy37-pytest7.4 + pypy38-pytest{7.4,8.3} + pypy39-pytest{7.4,8.3,latest} mypy build skip_missing_interpreters = True @@ -46,14 +56,24 @@ requires = test = py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - pypy37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} - pypy38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} - pypy39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4} + py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1} + py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} + py312-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} + py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} + pypy37-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3} + pypy38-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} + pypy39-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4} + py37-pytest7.4 + py38-pytest{7.4,8.3} + py39-pytest{7.4,8.3,latest} + py310-pytest{7.4,8.3,latest} + py311-pytest{7.4,8.3,latest} + py312-pytest{7.4,8.3,latest} + py313-pytest{7.4,8.3,latest} + pypy37-pytest7.4 + pypy38-pytest{7.4,8.3} + pypy39-pytest{7.4,8.3,latest} qa = mypy, lint cov = py38-sphinx3.2, coverage @@ -62,19 +82,6 @@ setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 -[testenv:py313] -download = True -setenv = - PYTHONDEVMODE=1 - PIP_DISABLE_PIP_VERSION_CHECK=1 - UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - -[testenv:py312] -download = True -setenv = - PYTHONDEVMODE=1 - PIP_DISABLE_PIP_VERSION_CHECK=1 - [testenv:docs] setenv = SHOW_TODOS = 1 passenv = SPHINX_BUILDER @@ -246,31 +253,6 @@ filterwarnings = always:The alias 'sphinx.util.typing.stringify' is deprecated, use 'sphinx.util.typing.stringify_annotation' instead. Check CHANGES for Sphinx API modifications.:DeprecationWarning markers = sphinx -[testenv:py312-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] -download = True -setenv = - PYTHONDEVMODE=1 - PIP_DISABLE_PIP_VERSION_CHECK=1 - -[testenv:py313-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] -download = True -setenv = - PYTHONDEVMODE=1 - PIP_DISABLE_PIP_VERSION_CHECK=1 - UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - -[testenv:py313-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] -download = True -setenv = - PYTHONDEVMODE=1 - PIP_DISABLE_PIP_VERSION_CHECK=1 - UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - -[testenv:py312-dev-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}] -setenv = - PYTHONDEVMODE=1 - PIP_DISABLE_PIP_VERSION_CHECK=1 - [testenv] setenv = PYTHONDEVMODE=1 @@ -290,17 +272,17 @@ deps = sphinx4.3: sphinx==4.3.2 sphinx4.4: sphinx==4.4.0 sphinx4.5: sphinx==4.5.0 - sphinx4.{0,1,2,3,4,5}: docutils<=0.17.1 + sphinx4.{0,1,2,3,4,5}: docutils==0.17.1 sphinx5.0: sphinx==5.0.2 sphinx5.1: sphinx==5.1.1 - sphinx5.2: sphinx==5.2.1 + sphinx5.2: sphinx==5.2.3 sphinx5.3: sphinx==5.3.0 sphinx6.0: sphinx==6.0.1 - sphinx6.1: sphinx==6.1.2 + sphinx6.1: sphinx==6.1.3 sphinx6.2: sphinx==6.2.1 sphinx7.0: sphinx==7.0.1 sphinx7.1: sphinx==7.1.2 - sphinx7.2: sphinx==7.2.5 + sphinxcontrib-applehelp<=1.0.4 sphinxcontrib-devhelp<=1.0.2 sphinxcontrib-htmlhelp<=2.0.1 @@ -311,3 +293,120 @@ deps = commands = python --version python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} + +[testenv:py{39,310,311,312,313,py39}-sphinx7.2] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/requirements.txt +commands = + pip install sphinx==7.2.6 + pip install pygments>=2.7.4,<=2.13.0 + python --version + python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} + +[testenv:py{39,310,311,312,313,py39}-sphinx7.3] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/requirements.txt +commands = + pip install sphinx==7.3.7 + pip install pygments>=2.7.4,<=2.13.0 + python --version + python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} + +[testenv:py{39,310,311,312,313,py39}-sphinx7.4] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/requirements.txt +commands = + pip install sphinx==7.4.7 + pip install pygments>=2.7.4,<=2.13.0 + python --version + python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} + +[testenv:py{310,311,312,313}-sphinx8.0] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/requirements.txt +commands = + pip install sphinx==8.0.2 + pip install pygments>=2.7.4,<=2.13.0 alabaster==0.7.16 + python --version + python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} + +[testenv:py{310,311,312,313}-sphinx8.1] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/requirements.txt +commands = + pip install sphinx==8.1.3 + pip install pygments>=2.7.4,<=2.13.0 + python --version + python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} + +[testenv:py{311,312,313}-sphinx8.2] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/requirements.txt +commands = + pip install sphinx==8.2.1 + pip install pygments>=2.7.4,<=2.13.0 + python --version + python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} + +[testenv:py{37,38,39,310,311,312,313}-pytest7.4] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/requirements.txt + pytest~=7.4.0 +commands = + pip install pygments>=2.7.4,<=2.13.0 + python --version + python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} + +[testenv:py{38,39,310,311,312,313}-pytest8.3] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/requirements.txt + pytest~=8.3.0 +commands = + pip install pygments>=2.7.4,<=2.13.0 + python --version + python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} + +[testenv:py{39,310,311,312,313}-pytestlatest] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/requirements.txt + pytest +commands = + pip install pygments>=2.7.4,<=2.13.0 + python --version + python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} From d468ff3536c34ab50c039ead3ce82d2e53b06d62 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 4 Jun 2025 16:12:27 +0100 Subject: [PATCH 102/109] Lint --- sphinx_autofixture/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sphinx_autofixture/__init__.py b/sphinx_autofixture/__init__.py index 368ff4a..3b957e4 100644 --- a/sphinx_autofixture/__init__.py +++ b/sphinx_autofixture/__init__.py @@ -52,10 +52,10 @@ try: # pragma: no cover # 3rd party - from _pytest.fixtures import FixtureFunctionDefinition + from _pytest.fixtures import FixtureFunctionDefinition # type: ignore[attr-defined] except ImportError: # pragma: no cover - class FixtureFunctionDefinition: + class FixtureFunctionDefinition: # type: ignore[no-redef] pass From 36f7561245d3abd5c0d5a4bf6008e62ad877dd4c Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Wed, 4 Jun 2025 16:57:42 +0100 Subject: [PATCH 103/109] Set encoding when reading test output files. --- tests/test_directive.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_directive.py b/tests/test_directive.py index 79b01c8..e31ab37 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -38,7 +38,7 @@ def content(app: Sphinx) -> Iterator[Sphinx]: @pytest.fixture() def page(content: Any, request: Any) -> Iterator[BeautifulSoup]: pagename = request.param - c = (content.outdir / pagename).read_text() + c = (content.outdir / pagename).read_text(encoding="UTF-8") yield BeautifulSoup(c, "html5lib") From d47d9f195a480f4efecdb49162b04e44b36404ef Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 10:06:27 +0100 Subject: [PATCH 104/109] Updated files with 'repo_helper'. (#83) Co-authored-by: repo-helper[bot] <74742576+repo-helper[bot]@users.noreply.github.com> --- .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 bd74787..df78eb0 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 546a7f0..125c2f3 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' From fb5f132c93e48267b9ae1024d21337f14e6a4c7d Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 5 Jun 2025 10:05:47 +0100 Subject: [PATCH 105/109] Fix pytest tests on PyPy --- tox.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tox.ini b/tox.ini index e271a62..ee49f37 100644 --- a/tox.ini +++ b/tox.ini @@ -372,7 +372,7 @@ commands = python --version python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} -[testenv:py{37,38,39,310,311,312,313}-pytest7.4] +[testenv:py{37,38,39,310,311,312,313,py37,py38,py39}-pytest7.4] setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 @@ -385,7 +385,7 @@ commands = python --version python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} -[testenv:py{38,39,310,311,312,313}-pytest8.3] +[testenv:py{38,39,310,311,312,313,py38,py39}-pytest8.3] setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 @@ -398,7 +398,7 @@ commands = python --version python -m pytest --cov=sphinx_autofixture -r aR tests/ {posargs} -[testenv:py{39,310,311,312,313}-pytestlatest] +[testenv:py{39,310,311,312,313,py39}-pytestlatest] setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 From e1268193a208a002cece1feaa834bbb8f665e0a8 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 5 Jun 2025 10:44:33 +0100 Subject: [PATCH 106/109] Update tox config. --- repo_helper.yml | 5 ++++- tox.ini | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/repo_helper.yml b/repo_helper.yml index d46558b..7042b93 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -204,4 +204,7 @@ classifiers: exclude_files: - contributing - - tox + +tox_unmanaged: + - testenv + - fixups diff --git a/tox.ini b/tox.ini index ee49f37..f5b6151 100644 --- a/tox.ini +++ b/tox.ini @@ -22,12 +22,12 @@ [tox] envlist = - py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} + py37-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3} py38-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4} py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1} py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} - py312-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} + py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} pypy37-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3} pypy38-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} @@ -59,7 +59,7 @@ test = py39-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4} py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1} py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} - py312-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} + py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2} pypy37-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3} pypy38-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1} @@ -133,7 +133,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 sphinx_autofixture tests --allow-toolbox {posargs} From 5ac46865e4e94b8793c3992699d14ca21abe65f4 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 5 Jun 2025 11:10:55 +0100 Subject: [PATCH 107/109] Skip pytest 7.4 on Python 3.13 --- .github/workflows/python_ci.yml | 2 +- .github/workflows/python_ci_linux.yml | 2 +- .github/workflows/python_ci_macos.yml | 2 +- repo_helper.yml | 2 ++ tox.ini | 4 ++-- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 125c2f3..21af2ba 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -34,7 +34,7 @@ jobs: - {python-version: "3.10", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1},py310-pytest{7.4,8.3,latest},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py311-pytest{7.4,8.3,latest},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py312-pytest{7.4,8.3,latest},build", experimental: False} - - {python-version: "3.13", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.13", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-pytest{8.3,latest},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3},pypy37-pytest7.4,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},pypy38-pytest{7.4,8.3},build", experimental: False} - {python-version: "pypy-3.9-v7.3.15", testenvs: "pypy39-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},pypy39-pytest{7.4,8.3,latest},build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index c6cfc9f..2ef4c9f 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-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1},py310-pytest{7.4,8.3,latest},build", experimental: False} - {python-version: "3.11", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py311-pytest{7.4,8.3,latest},build", experimental: False} - {python-version: "3.12", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py312-pytest{7.4,8.3,latest},build", experimental: False} - - {python-version: "3.13", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.13", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-pytest{8.3,latest},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3},pypy37-pytest7.4,build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},pypy38-pytest{7.4,8.3},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},pypy39-pytest{7.4,8.3,latest},build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 760d5e6..3c04907 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -34,7 +34,7 @@ jobs: - {python-version: "3.10", os-ver: "14", testenvs: "py310-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1},py310-pytest{7.4,8.3,latest},build", experimental: False} - {python-version: "3.11", os-ver: "14", testenvs: "py311-sphinx{3.2,3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py311-pytest{7.4,8.3,latest},build", experimental: False} - {python-version: "3.12", os-ver: "14", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py312-pytest{7.4,8.3,latest},build", experimental: False} - - {python-version: "3.13", os-ver: "14", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-pytest{7.4,8.3,latest},build", experimental: False} + - {python-version: "3.13", os-ver: "14", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-pytest{8.3,latest},build", experimental: False} - {python-version: "pypy-3.7", os-ver: "13", testenvs: "pypy37-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3},pypy37-pytest7.4,build", experimental: False} - {python-version: "pypy-3.8", os-ver: "14", testenvs: "pypy38-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},pypy38-pytest{7.4,8.3},build", experimental: False} - {python-version: "pypy-3.9", os-ver: "14", testenvs: "pypy39-sphinx{4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},pypy39-pytest{7.4,8.3,latest},build", experimental: True} diff --git a/repo_helper.yml b/repo_helper.yml index 7042b93..36a2dd9 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -89,6 +89,8 @@ python_versions: - 5.3 - 6.0 - 6.1 + pytest: + - 7.4 pypy37: matrix_exclude: pytest: diff --git a/tox.ini b/tox.ini index f5b6151..cbc048c 100644 --- a/tox.ini +++ b/tox.ini @@ -38,7 +38,7 @@ envlist = py310-pytest{7.4,8.3,latest} py311-pytest{7.4,8.3,latest} py312-pytest{7.4,8.3,latest} - py313-pytest{7.4,8.3,latest} + py313-pytest{8.3,latest} pypy37-pytest7.4 pypy38-pytest{7.4,8.3} pypy39-pytest{7.4,8.3,latest} @@ -70,7 +70,7 @@ test = py310-pytest{7.4,8.3,latest} py311-pytest{7.4,8.3,latest} py312-pytest{7.4,8.3,latest} - py313-pytest{7.4,8.3,latest} + py313-pytest{8.3,latest} pypy37-pytest7.4 pypy38-pytest{7.4,8.3} pypy39-pytest{7.4,8.3,latest} From 19adf9dda27f61b400187d32de8e950929fd6692 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Thu, 5 Jun 2025 11:41:21 +0100 Subject: [PATCH 108/109] Bump version v0.4.0 -> v0.4.1 --- .bumpversion.cfg | 2 +- .github/workflows/conda_ci.yml | 2 +- README.rst | 2 +- doc-source/index.rst | 2 +- pyproject.toml | 2 +- repo_helper.yml | 2 +- sphinx_autofixture/__init__.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 2e87e36..928aa5d 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.4.0 +current_version = 0.4.1 commit = True tag = True diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 652efac..15edb67 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -58,7 +58,7 @@ jobs: - name: "Install package" run: | - $CONDA/bin/conda install -c file://$(pwd)/conda-bld sphinx-autofixture=0.4.0=py_1 -y || exit 1 + $CONDA/bin/conda install -c file://$(pwd)/conda-bld sphinx-autofixture=0.4.1=py_1 -y || exit 1 - name: "Run Tests" run: | diff --git a/README.rst b/README.rst index 8d9a01c..0138f80 100644 --- a/README.rst +++ b/README.rst @@ -106,7 +106,7 @@ and `the documentation for coincidence`_ for an example with the ReadTheDocs the .. |language| image:: https://img.shields.io/github/languages/top/sphinx-toolbox/sphinx-autofixture :alt: GitHub top language -.. |commits-since| image:: https://img.shields.io/github/commits-since/sphinx-toolbox/sphinx-autofixture/v0.4.0 +.. |commits-since| image:: https://img.shields.io/github/commits-since/sphinx-toolbox/sphinx-autofixture/v0.4.1 :target: https://github.com/sphinx-toolbox/sphinx-autofixture/pulse :alt: GitHub commits since tagged version diff --git a/doc-source/index.rst b/doc-source/index.rst index db351b2..90d5ae1 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -107,7 +107,7 @@ sphinx-autofixture :alt: GitHub top language .. |commits-since| github-shield:: - :commits-since: v0.4.0 + :commits-since: v0.4.1 :alt: GitHub commits since tagged version .. |commits-latest| github-shield:: diff --git a/pyproject.toml b/pyproject.toml index 0b2ceab..2a22246 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "whey" [project] name = "sphinx-autofixture" -version = "0.4.0" +version = "0.4.1" description = "Sphinx autodocumenter for pytest fixtures." readme = "README.rst" keywords = [ "documentation", "pytest", "sphinx", "sphinx-extension",] diff --git a/repo_helper.yml b/repo_helper.yml index 36a2dd9..477b73c 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -7,7 +7,7 @@ email: 'dominic@davis-foster.co.uk' username: "sphinx-toolbox" assignee: "domdfcoding" primary_conda_channel: 'domdfcoding' -version: '0.4.0' +version: '0.4.1' license: 'MIT' short_desc: 'Sphinx autodocumenter for pytest fixtures.' diff --git a/sphinx_autofixture/__init__.py b/sphinx_autofixture/__init__.py index 3b957e4..145e1ea 100644 --- a/sphinx_autofixture/__init__.py +++ b/sphinx_autofixture/__init__.py @@ -45,7 +45,7 @@ __author__: str = "Dominic Davis-Foster" __copyright__: str = "2020 Dominic Davis-Foster" __license__: str = "MIT License" -__version__: str = "0.4.0" +__version__: str = "0.4.1" __email__: str = "dominic@davis-foster.co.uk" __all__ = ["FixtureDecoratorFinder", "FixtureDocumenter", "is_fixture", "setup"] From 7f38c380853f087389bf1675e527669e8efb7f2e Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 9 Jun 2025 16:27:11 +0100 Subject: [PATCH 109/109] Bump mypy --- .github/workflows/flake8.yml | 2 +- .github/workflows/mypy.yml | 2 +- pyproject.toml | 2 +- repo_helper.yml | 2 ++ sphinx_autofixture/__init__.py | 4 ++-- tests/test_directive.py | 6 +++--- tox.ini | 14 +++++++------- 7 files changed, 17 insertions(+), 15 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 df78eb0..4c22a52 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/pyproject.toml b/pyproject.toml index 2a22246..14bdb4e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -124,7 +124,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 477b73c..f926df4 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -15,6 +15,8 @@ use_whey: true sphinx_html_theme: furo preserve_custom_theme: true min_coverage: 95 +mypy_version: 1.16 +python_deploy_version: 3.9 # Versions to run tests for python_versions: diff --git a/sphinx_autofixture/__init__.py b/sphinx_autofixture/__init__.py index 145e1ea..507e693 100644 --- a/sphinx_autofixture/__init__.py +++ b/sphinx_autofixture/__init__.py @@ -52,7 +52,7 @@ try: # pragma: no cover # 3rd party - from _pytest.fixtures import FixtureFunctionDefinition # type: ignore[attr-defined] + from _pytest.fixtures import FixtureFunctionDefinition except ImportError: # pragma: no cover class FixtureFunctionDefinition: # type: ignore[no-redef] @@ -169,7 +169,7 @@ def can_document_member( """ if isinstance(member, (FunctionType, FixtureFunctionDefinition)): - return is_fixture(member)[0] + return is_fixture(member)[0] # type: ignore[arg-type] else: # pragma: no cover return False diff --git a/tests/test_directive.py b/tests/test_directive.py index e31ab37..79c44dd 100644 --- a/tests/test_directive.py +++ b/tests/test_directive.py @@ -17,7 +17,7 @@ path = pathlib.Path else: # 3rd party - from sphinx.testing.path import path # type: ignore[misc] + from sphinx.testing.path import path # type: ignore[assignment] pytest_plugins = "sphinx.testing.fixtures" @@ -117,9 +117,9 @@ def test_output( def _get_alabaster_version() -> Tuple[int, int, int]: try: # 3rd party - import alabaster._version as alabaster # type: ignore[import] + import alabaster._version as alabaster # type: ignore[import-untyped] except ImportError: # 3rd party - import alabaster # type: ignore[import] + import alabaster # type: ignore[import-untyped] return tuple(map(int, alabaster.__version__.split('.'))) diff --git a/tox.ini b/tox.ini index cbc048c..d8972dd 100644 --- a/tox.ini +++ b/tox.ini @@ -75,7 +75,7 @@ test = pypy38-pytest{7.4,8.3} pypy39-pytest{7.4,8.3,latest} qa = mypy, lint -cov = py38-sphinx3.2, coverage +cov = py39-sphinx3.2, coverage [testenv:.package] setenv = @@ -109,7 +109,7 @@ commands = check-wheel-contents dist/ [testenv:lint] -basepython = python3.8 +basepython = python3.9 changedir = {toxinidir} ignore_errors = True skip_install = True @@ -139,7 +139,7 @@ deps = commands = python3 -m flake8_rst_docstrings_sphinx sphinx_autofixture tests --allow-toolbox {posargs} [testenv:perflint] -basepython = python3.8 +basepython = python3.9 changedir = {toxinidir} ignore_errors = True skip_install = True @@ -147,17 +147,17 @@ deps = perflint commands = python3 -m perflint sphinx_autofixture {posargs} [testenv:mypy] -basepython = python3.8 +basepython = python3.9 ignore_errors = True changedir = {toxinidir} deps = - mypy==0.971 + mypy==1.16 -r{toxinidir}/tests/requirements.txt -r{toxinidir}/stubs.txt commands = mypy sphinx_autofixture tests {posargs} [testenv:pyup] -basepython = python3.8 +basepython = python3.9 skip_install = True ignore_errors = True changedir = {toxinidir} @@ -165,7 +165,7 @@ deps = pyupgrade-directories commands = pyup_dirs sphinx_autofixture tests --py36-plus --recursive [testenv:coverage] -basepython = python3.8 +basepython = python3.9 skip_install = True ignore_errors = True whitelist_externals = /bin/bash