From b82c864df64febff9a4e35bf5c245df7d6a3bcac Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 25 Apr 2025 11:44:20 -0700 Subject: [PATCH 01/62] put install and import test into its own workflow --- .github/workflows/check_install.yml | 40 +++++++++++++++++++++++++++++ .github/workflows/documentation.yml | 16 ------------ 2 files changed, 40 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/check_install.yml diff --git a/.github/workflows/check_install.yml b/.github/workflows/check_install.yml new file mode 100644 index 0000000..ce7ae92 --- /dev/null +++ b/.github/workflows/check_install.yml @@ -0,0 +1,40 @@ +name: Install and Import + +on: + push: + branches: + - main + - v0.*.x + tags: + - v* + pull_request: + workflow_dispatch: + +permissions: {} + +jobs: + pip-install-and-import: + name: Installation with pip & import (py-${{ matrix.python }}) + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + python: [ '3.6', '3.10', '3.12', '3.13' ] + os: [ ubuntu-latest ] + + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 1 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python }} + cache: 'pip' + - name: Install plasmapy_sphinx with pip + run: pip install . + - name: Import plasmapy_sphinx + run: python -c "import plasmapy_sphinx" diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index ffacb35..de99264 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -38,19 +38,3 @@ jobs: - name: Build Docs run: | sphinx-build ./docs ./docs/_build -n --keep-going -W -b html -q - - pip-install: - name: Installation with pip - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: 3.12 - - name: Install plasmapy_sphinx with pip - run: pip install . From 6714052d1898672fa9702f87212cef0f15e1916c Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 25 Apr 2025 11:44:51 -0700 Subject: [PATCH 02/62] add tests on py 3.6 and 3.13 --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index de99264..a39fc95 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.10', '3.12'] + python: ['3.6', '3.10', '3.12', '3.13'] os: [ubuntu-latest] steps: From 23adafde420745c08d07385868ac96fc65d0b976 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 25 Apr 2025 11:45:17 -0700 Subject: [PATCH 03/62] cache tests and set fetch-depth to 1 --- .github/workflows/documentation.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index a39fc95..da4b2d6 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -25,11 +25,12 @@ jobs: - name: Checkout code uses: actions/checkout@v3 with: - fetch-depth: 0 + fetch-depth: 1 - name: Set up Python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python }} + cache: 'pip' - name: Install dependencies run: | python -m pip install --progress-bar off --upgrade pip From 8d8de864dcbb9ce92791a0a96d80055219578e85 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 25 Apr 2025 11:45:50 -0700 Subject: [PATCH 04/62] restrict workflow permissions --- .github/workflows/documentation.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index da4b2d6..2496fda 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -10,6 +10,8 @@ on: pull_request: workflow_dispatch: +permissions: {} # disables all GitHub permissions for the workflow + jobs: documentation: name: Doc Build - py${{ matrix.python }} on ${{ matrix.os }} From d87054fc1eae085b908387f004245f0cc1d05f00 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 25 Apr 2025 11:46:15 -0700 Subject: [PATCH 05/62] no not explicitly install plasmapy --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 2496fda..8719f6f 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -36,7 +36,7 @@ jobs: - name: Install dependencies run: | python -m pip install --progress-bar off --upgrade pip - python -m pip install --progress-bar off -r requirements/docs.txt git+https://github.com/PlasmaPy/plasmapy + python -m pip install --progress-bar off -r requirements/docs.txt sudo apt-get install graphviz pandoc - name: Build Docs run: | From e5f8fff0aeb19da85a317175de8ca9c6b4e68414 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 25 Apr 2025 12:14:36 -0700 Subject: [PATCH 06/62] set upper sphinx limit to < 8.2 --- pyproject.toml | 2 +- requirements/install.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 4fe0982..7858c99 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ dependencies = [ # ought to mirror 'requirements/install.txt' "docutils", "importlib_metadata; python_version < '3.8'", "jinja2 != 3.1", - "sphinx >= 4.4", + "sphinx >= 4.4, < 8.2", "sphinx-gallery", "sphinx_rtd_theme >= 1.0.0", ] diff --git a/requirements/install.txt b/requirements/install.txt index d9e0af6..79b1856 100644 --- a/requirements/install.txt +++ b/requirements/install.txt @@ -6,6 +6,6 @@ docutils importlib_metadata; python_version < '3.8' jinja2 != 3.1 -sphinx >= 4.4 +sphinx >= 4.4, < 8.2 sphinx-gallery sphinx_rtd_theme >= 1.0.0 From c3a30c3bc364593a527536401b6ea49e008c2ca2 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 28 Apr 2025 15:01:43 -0700 Subject: [PATCH 07/62] set upper sphinx limit to < 7.4 --- pyproject.toml | 2 +- requirements/install.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7858c99..2069d54 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ dependencies = [ # ought to mirror 'requirements/install.txt' "docutils", "importlib_metadata; python_version < '3.8'", "jinja2 != 3.1", - "sphinx >= 4.4, < 8.2", + "sphinx >= 4.4, < 7.4", "sphinx-gallery", "sphinx_rtd_theme >= 1.0.0", ] diff --git a/requirements/install.txt b/requirements/install.txt index 79b1856..a673b2f 100644 --- a/requirements/install.txt +++ b/requirements/install.txt @@ -6,6 +6,6 @@ docutils importlib_metadata; python_version < '3.8' jinja2 != 3.1 -sphinx >= 4.4, < 8.2 +sphinx >= 4.4, < 7.4 sphinx-gallery sphinx_rtd_theme >= 1.0.0 From 26c68c38ba2b30b811c9a0cabf7c473140a2bad2 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 28 Apr 2025 15:11:07 -0700 Subject: [PATCH 08/62] add plasmapy dependency to the documentation requirements --- pyproject.toml | 1 + requirements/docs.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 2069d54..486914c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,6 +65,7 @@ docs = [ # ought to mirror 'requirements/docs.txt' "numpydoc", "packaging", "pillow", + "plasmapy > 8.0", "pygments >= 2.11.0", "sphinx-changelog", "sphinx-copybutton", diff --git a/requirements/docs.txt b/requirements/docs.txt index 62b1242..2947742 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -6,6 +6,7 @@ numpydoc packaging pillow +plasmapy > 8.0 pygments >= 2.11.0 sphinx-changelog sphinx-copybutton From ed6999ff88622049270cf15fcda9d7a810c1c705 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 28 Apr 2025 15:28:38 -0700 Subject: [PATCH 09/62] set min python version to 3.8 --- .github/workflows/check_install.yml | 2 +- .github/workflows/documentation.yml | 2 +- plasmapy_sphinx/__init__.py | 4 ++-- pyproject.toml | 4 +--- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/check_install.yml b/.github/workflows/check_install.yml index ce7ae92..7bfd5e0 100644 --- a/.github/workflows/check_install.yml +++ b/.github/workflows/check_install.yml @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false matrix: - python: [ '3.6', '3.10', '3.12', '3.13' ] + python: [ '3.8', '3.10', '3.12', '3.13' ] os: [ ubuntu-latest ] steps: diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 8719f6f..297498c 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.6', '3.10', '3.12', '3.13'] + python: ['3.8', '3.10', '3.12', '3.13'] os: [ubuntu-latest] steps: diff --git a/plasmapy_sphinx/__init__.py b/plasmapy_sphinx/__init__.py index d386675..00ca5b5 100644 --- a/plasmapy_sphinx/__init__.py +++ b/plasmapy_sphinx/__init__.py @@ -70,8 +70,8 @@ # This is the same check as the one at the top of setup.py import sys -if sys.version_info < (3, 6): # coverage: ignore - raise ImportError("plasmapy_sphinx does not support Python < 3.6") +if sys.version_info < (3, 8): # coverage: ignore + raise ImportError("plasmapy_sphinx does not support Python < 3.8") if sys.version_info >= (3, 8): from importlib.metadata import version, PackageNotFoundError diff --git a/pyproject.toml b/pyproject.toml index 486914c..b52412b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ maintainers = [ ] description = "Sphinx extensions for the PlasmaPy Project" readme = "README.md" -requires-python = ">=3.6" +requires-python = ">=3.8" dynamic = ["version"] license = {file = "LICENSE.md"} keywords = ["plasmapy", "sphinx", "documentation"] @@ -24,8 +24,6 @@ classifiers = [ "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", From 8d67b76b399bcbf89a29ebd5c35a97eba620e014 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 28 Apr 2025 15:43:40 -0700 Subject: [PATCH 10/62] set min setuptools version to 61 --- pyproject.toml | 2 +- requirements/build.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b52412b..ecccad3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ # ought to mirror 'requirements/build.txt' - "setuptools >= 41.2", + "setuptools >= 61", "setuptools_scm", "wheel >= 0.29.0", ] diff --git a/requirements/build.txt b/requirements/build.txt index cd42bfc..0c51567 100644 --- a/requirements/build.txt +++ b/requirements/build.txt @@ -3,6 +3,6 @@ # # ought to mirror [build-system.requires] under in pyproject.toml # -setuptools >= 41.2 +setuptools >= 61 setuptools_scm wheel >= 0.29.0 From d422eaffad4d23136f4efe5fbcf453e43ef709df Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 11:03:21 -0700 Subject: [PATCH 11/62] remove fail on warnings and add 3x verbosity --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 297498c..99dc366 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -40,4 +40,4 @@ jobs: sudo apt-get install graphviz pandoc - name: Build Docs run: | - sphinx-build ./docs ./docs/_build -n --keep-going -W -b html -q + sphinx-build ./docs ./docs/_build -n --keep-going -b html -q -v -v -v From b734e7d1b0422fc1b4e4ccd47b1f3b04afb5947f Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 11:07:45 -0700 Subject: [PATCH 12/62] remove the 3x verbosity --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 99dc366..b2fe153 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -40,4 +40,4 @@ jobs: sudo apt-get install graphviz pandoc - name: Build Docs run: | - sphinx-build ./docs ./docs/_build -n --keep-going -b html -q -v -v -v + sphinx-build ./docs ./docs/_build -n --keep-going -b html -q From bfaa8fa5c16559fb0f12c582775277dd8f895848 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 11:10:16 -0700 Subject: [PATCH 13/62] add dependency "packaging" --- pyproject.toml | 1 + requirements/install.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index ecccad3..3ed4d0c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,6 +35,7 @@ dependencies = [ # ought to mirror 'requirements/install.txt' "docutils", "importlib_metadata; python_version < '3.8'", "jinja2 != 3.1", + "packaging", "sphinx >= 4.4, < 7.4", "sphinx-gallery", "sphinx_rtd_theme >= 1.0.0", diff --git a/requirements/install.txt b/requirements/install.txt index a673b2f..459c65d 100644 --- a/requirements/install.txt +++ b/requirements/install.txt @@ -6,6 +6,7 @@ docutils importlib_metadata; python_version < '3.8' jinja2 != 3.1 +packaging sphinx >= 4.4, < 7.4 sphinx-gallery sphinx_rtd_theme >= 1.0.0 From ff6dc374fc3ef24ab6329fc38076b4234499e96f Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 11:12:27 -0700 Subject: [PATCH 14/62] adopt a kwarg passing scheme so we can be flexible in passing args to generate_autosummary_content(), who's signature changes for sphinx >= 8.0 --- plasmapy_sphinx/automodsumm/generate.py | 30 ++++++++++++++----------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/plasmapy_sphinx/automodsumm/generate.py b/plasmapy_sphinx/automodsumm/generate.py index ddefba3..c992b75 100644 --- a/plasmapy_sphinx/automodsumm/generate.py +++ b/plasmapy_sphinx/automodsumm/generate.py @@ -8,6 +8,8 @@ import re from jinja2 import TemplateNotFound +from packaging.version import Version +from sphinx import __version__ as sphinx_version from sphinx.ext.autodoc.mock import mock from sphinx.ext.autosummary import get_rst_suffix, import_by_name, import_ivar_by_name from sphinx.ext.autosummary.generate import ( @@ -306,19 +308,21 @@ def generate_docs( if app: context.update(app.config.autosummary_context) - content = generate_autosummary_content( - name, - obj, - parent, - template, - entry.template, - imported_members, - app, - entry.recursive, - context, - modname, - qualname, - ) + _kwargs = { + "name": name, + "obj": obj, + "parent": parent, + "template": template, + "template_name": entry.template, + "imported_members": imported_members, + "recursive": entry.recursive, + "context": context, + "modname": modname, + "qualname": qualname, + } + if Version(sphinx_version) < Version("8.2"): + _kwargs["app"] = app + content = generate_autosummary_content(**_kwargs) filename = os.path.join(path, filename_map.get(name, name) + suffix) if os.path.isfile(filename): From f2f6c0f75bcfe03f11b96f2681039efc2f496acb Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 12:42:45 -0700 Subject: [PATCH 15/62] put sphinx upper limit to 8.2 --- pyproject.toml | 2 +- requirements/install.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3ed4d0c..1c81b89 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ dependencies = [ # ought to mirror 'requirements/install.txt' "importlib_metadata; python_version < '3.8'", "jinja2 != 3.1", "packaging", - "sphinx >= 4.4, < 7.4", + "sphinx >= 4.4, < 8.2", "sphinx-gallery", "sphinx_rtd_theme >= 1.0.0", ] diff --git a/requirements/install.txt b/requirements/install.txt index 459c65d..54ca3aa 100644 --- a/requirements/install.txt +++ b/requirements/install.txt @@ -7,6 +7,6 @@ docutils importlib_metadata; python_version < '3.8' jinja2 != 3.1 packaging -sphinx >= 4.4, < 7.4 +sphinx >= 4.4, < 8.2 sphinx-gallery sphinx_rtd_theme >= 1.0.0 From 4d52c0f61c63a630bac668f5f73bdebf14b7947d Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 12:55:40 -0700 Subject: [PATCH 16/62] add sphinx_limits workflow --- .github/workflows/documentation.yml | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index b2fe153..babc02b 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -41,3 +41,43 @@ jobs: - name: Build Docs run: | sphinx-build ./docs ./docs/_build -n --keep-going -b html -q + + sphinx_limits: + name: Doc Build on Key Sphinx Restriction (${{ matrix.sphinx }}) + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + python: [ '3.12' ] + os: [ ubuntu-latest ] + + include: + - python: '3.12' + os: ubuntu-latest + sphinx: "<7.4" + + - python: '3.12' + os: ubuntu-latest + sphinx: "<8.2" + + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 1 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python }} + cache: 'pip' + - name: Install dependencies + run: | + python -m pip install --progress-bar off --upgrade pip + python -m pip install --progress-bar off -r requirements/docs.txt sphinx sphinx${{ matrix.sphinx }} + sudo apt-get install graphviz pandoc + - name: Build Docs + run: | + sphinx-build ./docs ./docs/_build -n --keep-going -b html -q + + From b1763a7eaeb007a234bfaf448f5aa2a8483cf50b Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 12:57:41 -0700 Subject: [PATCH 17/62] repair sphinx_limits workflow --- .github/workflows/documentation.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index babc02b..ad9a11f 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -43,23 +43,21 @@ jobs: sphinx-build ./docs ./docs/_build -n --keep-going -b html -q sphinx_limits: - name: Doc Build on Key Sphinx Restriction (${{ matrix.sphinx }}) + name: Doc Build on ${{ matrix.sphinx }} runs-on: ${{ matrix.os }} strategy: fail-fast: false - matrix: - python: [ '3.12' ] - os: [ ubuntu-latest ] + matrix: include: - python: '3.12' os: ubuntu-latest - sphinx: "<7.4" + sphinx: "sphinx<7.4" - python: '3.12' os: ubuntu-latest - sphinx: "<8.2" + sphinx: "sphinx<8.2" steps: - name: Checkout code @@ -74,7 +72,7 @@ jobs: - name: Install dependencies run: | python -m pip install --progress-bar off --upgrade pip - python -m pip install --progress-bar off -r requirements/docs.txt sphinx sphinx${{ matrix.sphinx }} + python -m pip install --progress-bar off -r requirements/docs.txt sphinx ${{ matrix.sphinx }} sudo apt-get install graphviz pandoc - name: Build Docs run: | From 91423d583a572cd67e730d01e378e13005ed9bb8 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 13:00:23 -0700 Subject: [PATCH 18/62] repair sphinx_limits workflow --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index ad9a11f..58df03f 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -72,7 +72,7 @@ jobs: - name: Install dependencies run: | python -m pip install --progress-bar off --upgrade pip - python -m pip install --progress-bar off -r requirements/docs.txt sphinx ${{ matrix.sphinx }} + python -m pip install --progress-bar off -r requirements/docs.txt ${{ matrix.sphinx }} sudo apt-get install graphviz pandoc - name: Build Docs run: | From 3aac14cbbb65bec0283f88115702d9c2ac1a2333 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 13:03:03 -0700 Subject: [PATCH 19/62] replace double quotes with single quotes --- .github/workflows/documentation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 58df03f..f62c1c3 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -53,11 +53,11 @@ jobs: include: - python: '3.12' os: ubuntu-latest - sphinx: "sphinx<7.4" + sphinx: 'sphinx<7.4' - python: '3.12' os: ubuntu-latest - sphinx: "sphinx<8.2" + sphinx: 'sphinx<8.2' steps: - name: Checkout code From 06ced109f7a0cf4178dcde0a9c4088379a35daab Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 13:05:57 -0700 Subject: [PATCH 20/62] put ${{ matrix.sphinx }} between quotes --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index f62c1c3..22ded97 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -72,7 +72,7 @@ jobs: - name: Install dependencies run: | python -m pip install --progress-bar off --upgrade pip - python -m pip install --progress-bar off -r requirements/docs.txt ${{ matrix.sphinx }} + python -m pip install --progress-bar off -r requirements/docs.txt "${{ matrix.sphinx }}" sudo apt-get install graphviz pandoc - name: Build Docs run: | From b6ec0a2db27ccc7072bbb9af732dae04c6153119 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 13:10:09 -0700 Subject: [PATCH 21/62] put fail on warning for the sphinx_limit workflow --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 22ded97..ff8ad86 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -76,6 +76,6 @@ jobs: sudo apt-get install graphviz pandoc - name: Build Docs run: | - sphinx-build ./docs ./docs/_build -n --keep-going -b html -q + sphinx-build ./docs ./docs/_build -n --keep-going -W -b html -q From 7f62ddaffb41ef2ac448e54d1da9aa5dcfbfae72 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 13:12:29 -0700 Subject: [PATCH 22/62] put fail on warning for the documentation workflow --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index ff8ad86..a8a9bf8 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -40,7 +40,7 @@ jobs: sudo apt-get install graphviz pandoc - name: Build Docs run: | - sphinx-build ./docs ./docs/_build -n --keep-going -b html -q + sphinx-build ./docs ./docs/_build -n --keep-going -W -b html -q sphinx_limits: name: Doc Build on ${{ matrix.sphinx }} From c183facd0102c956237c678a0c6256b5821f11a5 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 13:34:17 -0700 Subject: [PATCH 23/62] explicitly pass prefixes to import_by_name --- plasmapy_sphinx/automodsumm/generate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plasmapy_sphinx/automodsumm/generate.py b/plasmapy_sphinx/automodsumm/generate.py index c992b75..16a9d1f 100644 --- a/plasmapy_sphinx/automodsumm/generate.py +++ b/plasmapy_sphinx/automodsumm/generate.py @@ -293,7 +293,7 @@ def generate_docs( ensuredir(path) try: - name, obj, parent, modname = import_by_name(entry.name) + name, obj, parent, modname = import_by_name(entry.name, prefixes=(None,)) qualname = name.replace(modname + ".", "") except ImportError as e: try: From 43cf72083323853804d03a5b46e600b5b1034e37 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 13:55:36 -0700 Subject: [PATCH 24/62] explicitly remove prefixes before passing to parent method --- plasmapy_sphinx/automodsumm/core.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plasmapy_sphinx/automodsumm/core.py b/plasmapy_sphinx/automodsumm/core.py index 7998539..ca5a8c8 100644 --- a/plasmapy_sphinx/automodsumm/core.py +++ b/plasmapy_sphinx/automodsumm/core.py @@ -664,7 +664,16 @@ def import_by_name( self, name: str, prefixes: List[str] ) -> Tuple[str, Any, Any, str]: """See :func:`sphinx.ext.autosummary.import_by_name`""" - return super(Automodsumm, self).import_by_name(name, prefixes) + + for prefix in prefixes: + if prefix is None: + continue + + if name.startswith(f"{prefix}."): + name = name.removeprefix(f'{prefix}.') + break + + return super().import_by_name(name, prefixes) def setup(app: "Sphinx"): From c5f0ac08db61b3f80c8cac6a9c9d6adb6c735142 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 16:28:53 -0700 Subject: [PATCH 25/62] add a nitpick exception for SphinxDirective.parse_inline --- docs/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index db66c46..a911ced 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -339,6 +339,8 @@ (python_role, "plasmapy.analysis.swept_langmuir.find_floating_potential"), (python_role, "plasmapy.particles.particle_collections"), (python_role, "plasmapy.utils.decorators.lite_func"), + # Sphinx + (python_role, "sphinx.util.docutils.SphinxDirective.parse_inline"), ] # -- Options for HTML output ---------------------------------------------- From 6b8b25668321d37bcfd0ec67b6e3f469ff2ab4ce Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 16:50:44 -0700 Subject: [PATCH 26/62] remove the quiet tag from sphinx builds workflow --- .github/workflows/documentation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index a8a9bf8..104ac2d 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -40,7 +40,7 @@ jobs: sudo apt-get install graphviz pandoc - name: Build Docs run: | - sphinx-build ./docs ./docs/_build -n --keep-going -W -b html -q + sphinx-build ./docs ./docs/_build -n --keep-going -W -b html sphinx_limits: name: Doc Build on ${{ matrix.sphinx }} @@ -76,6 +76,6 @@ jobs: sudo apt-get install graphviz pandoc - name: Build Docs run: | - sphinx-build ./docs ./docs/_build -n --keep-going -W -b html -q + sphinx-build ./docs ./docs/_build -n --keep-going -W -b html From 2bcdb24be1abd8a6e95f68de2d905f19fbacd29d Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 17:05:42 -0700 Subject: [PATCH 27/62] add to nitpick exceptions --- docs/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/conf.py b/docs/conf.py index a911ced..3bd3976 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -341,6 +341,7 @@ (python_role, "plasmapy.utils.decorators.lite_func"), # Sphinx (python_role, "sphinx.util.docutils.SphinxDirective.parse_inline"), + (python_role, "system_message"), ] # -- Options for HTML output ---------------------------------------------- From 0ee898b31b3346af95d43f8ca9d5a98ef9e44f34 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 18:13:04 -0700 Subject: [PATCH 28/62] remove the string prefix in a python agnostic way --- plasmapy_sphinx/automodsumm/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plasmapy_sphinx/automodsumm/core.py b/plasmapy_sphinx/automodsumm/core.py index ca5a8c8..cdfb885 100644 --- a/plasmapy_sphinx/automodsumm/core.py +++ b/plasmapy_sphinx/automodsumm/core.py @@ -670,7 +670,7 @@ def import_by_name( continue if name.startswith(f"{prefix}."): - name = name.removeprefix(f'{prefix}.') + name = name[len(prefix):] break return super().import_by_name(name, prefixes) From 9318c5f66d1c4399a40602348a596690e0a389e1 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 18:31:37 -0700 Subject: [PATCH 29/62] correct the prefix removal +1 --- plasmapy_sphinx/automodsumm/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plasmapy_sphinx/automodsumm/core.py b/plasmapy_sphinx/automodsumm/core.py index cdfb885..3c2655d 100644 --- a/plasmapy_sphinx/automodsumm/core.py +++ b/plasmapy_sphinx/automodsumm/core.py @@ -670,7 +670,7 @@ def import_by_name( continue if name.startswith(f"{prefix}."): - name = name[len(prefix):] + name = name[len(prefix)+1:] break return super().import_by_name(name, prefixes) From a9280db1054c88d064de7839e8327d5db9e18d46 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 18:43:49 -0700 Subject: [PATCH 30/62] add nitpick ignore for ObjectMembers type annotation --- docs/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/conf.py b/docs/conf.py index 3bd3976..c5ae4cb 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -342,6 +342,7 @@ # Sphinx (python_role, "sphinx.util.docutils.SphinxDirective.parse_inline"), (python_role, "system_message"), + (python_role, "sphinx.ext.autodoc.ObjectMembers"), ] # -- Options for HTML output ---------------------------------------------- From ef81b356f88183c2ed47a8052435bb8ae1311490 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 18:47:22 -0700 Subject: [PATCH 31/62] make nitpick ignore rules a little more generic --- docs/conf.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index c5ae4cb..12a8138 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -340,9 +340,8 @@ (python_role, "plasmapy.particles.particle_collections"), (python_role, "plasmapy.utils.decorators.lite_func"), # Sphinx - (python_role, "sphinx.util.docutils.SphinxDirective.parse_inline"), - (python_role, "system_message"), - (python_role, "sphinx.ext.autodoc.ObjectMembers"), + (python_role, "system_message"), # sphinx.util.docutils.system_message + (python_role, "ObjectMembers"), # sphinx.ext.autodoc.ObjectMembers ] # -- Options for HTML output ---------------------------------------------- From 73fa8120ff3e9a31ca929578bfa3f677c927e709 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 18:50:10 -0700 Subject: [PATCH 32/62] add ObjectMember to nitpick ignore rules --- docs/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/conf.py b/docs/conf.py index 12a8138..ad93567 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -341,6 +341,7 @@ (python_role, "plasmapy.utils.decorators.lite_func"), # Sphinx (python_role, "system_message"), # sphinx.util.docutils.system_message + (python_role, "ObjectMember"), # sphinx.ext.autodoc.ObjectMember (python_role, "ObjectMembers"), # sphinx.ext.autodoc.ObjectMembers ] From eeb904d0882a9e6378df52d15485db8449aae70d Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 18:57:28 -0700 Subject: [PATCH 33/62] remove upper dependency limit on sphinx --- pyproject.toml | 2 +- requirements/install.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1c81b89..b5f0b06 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ dependencies = [ # ought to mirror 'requirements/install.txt' "importlib_metadata; python_version < '3.8'", "jinja2 != 3.1", "packaging", - "sphinx >= 4.4, < 8.2", + "sphinx >= 4.4", "sphinx-gallery", "sphinx_rtd_theme >= 1.0.0", ] diff --git a/requirements/install.txt b/requirements/install.txt index 54ca3aa..4c3126f 100644 --- a/requirements/install.txt +++ b/requirements/install.txt @@ -7,6 +7,6 @@ docutils importlib_metadata; python_version < '3.8' jinja2 != 3.1 packaging -sphinx >= 4.4, < 8.2 +sphinx >= 4.4 sphinx-gallery sphinx_rtd_theme >= 1.0.0 From e218d1ce7ab04b627509c98e45a63752810ce6bd Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 19:08:30 -0700 Subject: [PATCH 34/62] add a build on py3.11 --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 104ac2d..e0e6933 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.8', '3.10', '3.12', '3.13'] + python: ['3.8', '3.10', '3.11', '3.12', '3.13'] os: [ubuntu-latest] steps: From ed07b5943125c51752ca52cd47b66aba7265cf1e Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 19:09:39 -0700 Subject: [PATCH 35/62] add kwargs for generate_autosummary_content() that are specific to sphinx >= 8.2 specific --- plasmapy_sphinx/automodsumm/generate.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plasmapy_sphinx/automodsumm/generate.py b/plasmapy_sphinx/automodsumm/generate.py index 16a9d1f..6700d5b 100644 --- a/plasmapy_sphinx/automodsumm/generate.py +++ b/plasmapy_sphinx/automodsumm/generate.py @@ -322,6 +322,11 @@ def generate_docs( } if Version(sphinx_version) < Version("8.2"): _kwargs["app"] = app + else: + _kwargs["config"] = app.config + _kwargs["events"] = app.events + _kwargs["registry"] = app.registry + content = generate_autosummary_content(**_kwargs) filename = os.path.join(path, filename_map.get(name, name) + suffix) From c1b7c1df8646ca04eed3584824c1209db2372cfd Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 19:15:17 -0700 Subject: [PATCH 36/62] remove trailing whitespace --- .github/workflows/documentation.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index e0e6933..cbcd28c 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -77,5 +77,3 @@ jobs: - name: Build Docs run: | sphinx-build ./docs ./docs/_build -n --keep-going -W -b html - - From 57350cd94911b9f292e32021b20b97121559e49f Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 1 May 2025 19:16:59 -0700 Subject: [PATCH 37/62] add check on py3.11 --- .github/workflows/check_install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check_install.yml b/.github/workflows/check_install.yml index 7bfd5e0..5982b7a 100644 --- a/.github/workflows/check_install.yml +++ b/.github/workflows/check_install.yml @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false matrix: - python: [ '3.8', '3.10', '3.12', '3.13' ] + python: [ '3.8', '3.10', '3.11', '3.12', '3.13' ] os: [ ubuntu-latest ] steps: From c1c963aa9a61065017c2d9d4824677ce8d9fb9d8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 2 May 2025 02:21:27 +0000 Subject: [PATCH 38/62] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/check_install.yml | 6 ++-- .github/workflows/documentation.yml | 50 ++++++++++++++--------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/.github/workflows/check_install.yml b/.github/workflows/check_install.yml index 5982b7a..20d94f0 100644 --- a/.github/workflows/check_install.yml +++ b/.github/workflows/check_install.yml @@ -20,8 +20,8 @@ jobs: strategy: fail-fast: false matrix: - python: [ '3.8', '3.10', '3.11', '3.12', '3.13' ] - os: [ ubuntu-latest ] + python: ['3.8', '3.10', '3.11', '3.12', '3.13'] + os: [ubuntu-latest] steps: - name: Checkout code @@ -33,7 +33,7 @@ jobs: uses: actions/setup-python@v4 with: python-version: ${{ matrix.python }} - cache: 'pip' + cache: pip - name: Install plasmapy_sphinx with pip run: pip install . - name: Import plasmapy_sphinx diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index cbcd28c..86ab79a 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -32,7 +32,7 @@ jobs: uses: actions/setup-python@v4 with: python-version: ${{ matrix.python }} - cache: 'pip' + cache: pip - name: Install dependencies run: | python -m pip install --progress-bar off --upgrade pip @@ -44,36 +44,36 @@ jobs: sphinx_limits: name: Doc Build on ${{ matrix.sphinx }} - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - - python: '3.12' - os: ubuntu-latest - sphinx: 'sphinx<7.4' + - python: '3.12' + os: ubuntu-latest + sphinx: sphinx<7.4 - - python: '3.12' - os: ubuntu-latest - sphinx: 'sphinx<8.2' + - python: '3.12' + os: ubuntu-latest + sphinx: sphinx<8.2 steps: - - name: Checkout code - uses: actions/checkout@v3 - with: - fetch-depth: 1 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python }} - cache: 'pip' - - name: Install dependencies - run: | - python -m pip install --progress-bar off --upgrade pip - python -m pip install --progress-bar off -r requirements/docs.txt "${{ matrix.sphinx }}" - sudo apt-get install graphviz pandoc - - name: Build Docs - run: | - sphinx-build ./docs ./docs/_build -n --keep-going -W -b html + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 1 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python }} + cache: pip + - name: Install dependencies + run: | + python -m pip install --progress-bar off --upgrade pip + python -m pip install --progress-bar off -r requirements/docs.txt "${{ matrix.sphinx }}" + sudo apt-get install graphviz pandoc + - name: Build Docs + run: | + sphinx-build ./docs ./docs/_build -n --keep-going -W -b html From 952ee2c4692d4b0962d78b57f483eb922f694491 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 2 May 2025 10:01:11 -0700 Subject: [PATCH 39/62] modify docstring of plasmapy_sphinx.autodoc to it reads better when inserted into the docstring of plasmapy_sphinx.ext.autodoc --- plasmapy_sphinx/autodoc/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plasmapy_sphinx/autodoc/__init__.py b/plasmapy_sphinx/autodoc/__init__.py index 78c7aab..e8c4b6b 100644 --- a/plasmapy_sphinx/autodoc/__init__.py +++ b/plasmapy_sphinx/autodoc/__init__.py @@ -1,5 +1,6 @@ """ -This sub-package contains functionality that extends `sphinx.ext.autodoc`. +`plasmapy_sphinx.autodoc` contains functionality that extends +`sphinx.ext.autodoc`. *This functionality was highly influenced by and adapted from* `sphinx.ext.autodoc` *and* `sphinx_automodapi.automodapi`. From 338dd7e93ad6a167ad370f370007d5715f1470d3 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 2 May 2025 10:01:31 -0700 Subject: [PATCH 40/62] add docstring to plasmapy_sphinx.ext.autodoc --- plasmapy_sphinx/ext/autodoc.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/plasmapy_sphinx/ext/autodoc.py b/plasmapy_sphinx/ext/autodoc.py index f9ebadc..8154042 100644 --- a/plasmapy_sphinx/ext/autodoc.py +++ b/plasmapy_sphinx/ext/autodoc.py @@ -1,3 +1,14 @@ +""" +This modules is a `Sphinx extension +`_ +that exposes the functionality of `plasmapy_sphinx.autodoc`. + +.. automodapi:: plasmapy_sphinx.autodoc + :no-index: + :no-groups: + +""" +__all__ = ["automodapi", "setup"] from sphinx.application import Sphinx from plasmapy_sphinx.autodoc import automodapi @@ -5,7 +16,7 @@ def setup(app: Sphinx): """ - Sphinx ``setup()`` function for setting up all of the + Sphinx ``setup()`` function for setting up all the `plasmapy_sphinx.autodoc` functionality, this includes `plasmapy_sphinx.automodsumm` functionality. """ From a5267371f34aa8dbedacc8ded5e7834d02ab958e Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 2 May 2025 17:07:25 -0700 Subject: [PATCH 41/62] wrangle option :no-index: to :index: for sphinx < 7.2 --- plasmapy_sphinx/automodsumm/core.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plasmapy_sphinx/automodsumm/core.py b/plasmapy_sphinx/automodsumm/core.py index 3c2655d..f2b05d0 100644 --- a/plasmapy_sphinx/automodsumm/core.py +++ b/plasmapy_sphinx/automodsumm/core.py @@ -208,6 +208,8 @@ import os from importlib import import_module +from packaging.version import Version +from sphinx import __version__ as sphinx_version from sphinx.ext.autosummary import Autosummary from sphinx.util import logging from typing import Any, Callable, Dict, List, Tuple, Union @@ -305,6 +307,11 @@ def __init__( "abspath": None, } # type: Dict[str, Union[str, None]] + if Version(sphinx_version) < Version("7.2") and "no-index" in self._options: + # sphinx started using :no-index: instead of the original :noindex: + opt_value = self._options.pop("no-index") + self._options["noindex"] = opt_value + self.condition_options() @property From 0064fc2540c19257c8612874f5e0e1574f460a8a Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 2 May 2025 17:07:37 -0700 Subject: [PATCH 42/62] PEP 8 line length --- plasmapy_sphinx/automodsumm/core.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/plasmapy_sphinx/automodsumm/core.py b/plasmapy_sphinx/automodsumm/core.py index f2b05d0..20cae0e 100644 --- a/plasmapy_sphinx/automodsumm/core.py +++ b/plasmapy_sphinx/automodsumm/core.py @@ -283,16 +283,17 @@ def __init__( Instance of the sphinx application. modname : `str` - Name of the module given in the :rst:dir:`automodsumm` directive. This - is the module to be inspected and have it's objects grouped. + Name of the module given in the :rst:dir:`automodsumm` + directive. This is the module to be inspected and have + its objects grouped. options : Dict[str, Any] - Dictionary of options given for the :rst:dir:`automodsumm` directive - declaration. + Dictionary of options given for the :rst:dir:`automodsumm` + directive declaration. docname : str - Name of the document/file where the :rst:dir:`automodsumm` direction - was declared. + Name of the document/file where the :rst:dir:`automodsumm` + direction was declared. """ self._app = app @@ -614,8 +615,9 @@ def run(self): def option_processor(self): """ - Instance of `~plasmapy_sphinx.automodsumm.core.Automodsumm` so further processing - (beyond :attr:`option_spec`) of directive options can be performed. + Instance of `~plasmapy_sphinx.automodsumm.core.Automodsumm` so + further processing (beyond :attr:`option_spec`) of directive + options can be performed. """ processor = AutomodsummOptions( app=self.env.app, From ef9c7df48988a7f6a245a647366fb9a09ce0ef20 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 2 May 2025 17:57:22 -0700 Subject: [PATCH 43/62] remove unused import --- plasmapy_sphinx/autodoc/automodapi.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plasmapy_sphinx/autodoc/automodapi.py b/plasmapy_sphinx/autodoc/automodapi.py index 65dd9eb..b1142a1 100644 --- a/plasmapy_sphinx/autodoc/automodapi.py +++ b/plasmapy_sphinx/autodoc/automodapi.py @@ -303,7 +303,6 @@ import inspect import re -import sys import warnings from collections import OrderedDict From 33ec9c1720a9e7536b747091ac730a4b2be1f69a Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 2 May 2025 17:57:57 -0700 Subject: [PATCH 44/62] remove wrongly placed handling of the no-index option for sphinx < 7.2 --- plasmapy_sphinx/automodsumm/core.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/plasmapy_sphinx/automodsumm/core.py b/plasmapy_sphinx/automodsumm/core.py index 20cae0e..3ee40dd 100644 --- a/plasmapy_sphinx/automodsumm/core.py +++ b/plasmapy_sphinx/automodsumm/core.py @@ -308,11 +308,6 @@ def __init__( "abspath": None, } # type: Dict[str, Union[str, None]] - if Version(sphinx_version) < Version("7.2") and "no-index" in self._options: - # sphinx started using :no-index: instead of the original :noindex: - opt_value = self._options.pop("no-index") - self._options["noindex"] = opt_value - self.condition_options() @property From adcd98507ee36469adbde712332f38306e830102 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 2 May 2025 17:59:31 -0700 Subject: [PATCH 45/62] add the 'no-index' option to option_spec if ModuleDocumenter.option_spec does not have it --- plasmapy_sphinx/autodoc/automodapi.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plasmapy_sphinx/autodoc/automodapi.py b/plasmapy_sphinx/autodoc/automodapi.py index b1142a1..5ca8f16 100644 --- a/plasmapy_sphinx/autodoc/automodapi.py +++ b/plasmapy_sphinx/autodoc/automodapi.py @@ -348,6 +348,8 @@ class RemovedInSphinx50Warning(PendingDeprecationWarning): "inheritance-diagram": bool_option, "no-inheritance-diagram": bool_option, } # type: Dict[str, Callable] +if "no-index" not in _option_spec: + _option_spec["no-index"] = bool_option for option_name in list(_option_spec): if "member" in option_name: del _option_spec[option_name] From 4701c101638cd3ccfd7d6b93161e2e6a26c8f8e2 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 2 May 2025 18:00:08 -0700 Subject: [PATCH 46/62] wrangle option :no-index: to :index: for sphinx < 7.2 --- plasmapy_sphinx/autodoc/automodapi.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plasmapy_sphinx/autodoc/automodapi.py b/plasmapy_sphinx/autodoc/automodapi.py index 5ca8f16..05c3cac 100644 --- a/plasmapy_sphinx/autodoc/automodapi.py +++ b/plasmapy_sphinx/autodoc/automodapi.py @@ -308,7 +308,10 @@ from collections import OrderedDict from docutils.parsers.rst import directives from docutils.statemachine import StringList +from packaging.version import Version +from sphinx import __version__ as sphinx_version from sphinx.application import Sphinx +from typing import Any try: from sphinx.deprecation import RemovedInSphinx50Warning @@ -505,6 +508,15 @@ class ModAPIDocumenter(ModuleDocumenter): ), } + def __init__(self, *args: Any) -> None: + super().__init__(*args) + + if Version(sphinx_version) < Version("7.2") and "no-index" in self.options: + # sphinx started using :no-index: instead of the original :noindex: + # in version 7.2 + opt_value = self.options.pop("no-index") + self.options["noindex"] = opt_value + @property def grouping_info(self) -> Dict[str, Dict[str, Union[str, None]]]: """ From b2a19e3e7d27fe39841103120475c68419116cb0 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 2 May 2025 18:04:45 -0700 Subject: [PATCH 47/62] remove unused import --- plasmapy_sphinx/autodoc/automodapi.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plasmapy_sphinx/autodoc/automodapi.py b/plasmapy_sphinx/autodoc/automodapi.py index 05c3cac..77a981d 100644 --- a/plasmapy_sphinx/autodoc/automodapi.py +++ b/plasmapy_sphinx/autodoc/automodapi.py @@ -311,7 +311,6 @@ from packaging.version import Version from sphinx import __version__ as sphinx_version from sphinx.application import Sphinx -from typing import Any try: from sphinx.deprecation import RemovedInSphinx50Warning From 01645db0f1b3d98e999284dd71d208b38178718c Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 16:30:26 -0700 Subject: [PATCH 48/62] fix typo --- plasmapy_sphinx/ext/autodoc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plasmapy_sphinx/ext/autodoc.py b/plasmapy_sphinx/ext/autodoc.py index 8154042..9d62b91 100644 --- a/plasmapy_sphinx/ext/autodoc.py +++ b/plasmapy_sphinx/ext/autodoc.py @@ -1,5 +1,5 @@ """ -This modules is a `Sphinx extension +This module is a `Sphinx extension `_ that exposes the functionality of `plasmapy_sphinx.autodoc`. From 6a3439b85983a37d2890511a586ea7aa76c132d1 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 16:30:46 -0700 Subject: [PATCH 49/62] remove unused import --- plasmapy_sphinx/automodsumm/generate.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plasmapy_sphinx/automodsumm/generate.py b/plasmapy_sphinx/automodsumm/generate.py index 6700d5b..86314f6 100644 --- a/plasmapy_sphinx/automodsumm/generate.py +++ b/plasmapy_sphinx/automodsumm/generate.py @@ -27,7 +27,6 @@ if False: # for annotation, does not need real import from sphinx.application import Sphinx - from sphinx.builders import Builder logger = logging.getLogger(__name__) From 673aaa9e21ed25d78d7a12cccde83fc62bd6a33a Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 16:40:50 -0700 Subject: [PATCH 50/62] update docstrings for automodsumm --- plasmapy_sphinx/automodsumm/__init__.py | 6 +++--- plasmapy_sphinx/ext/automodsumm.py | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/plasmapy_sphinx/automodsumm/__init__.py b/plasmapy_sphinx/automodsumm/__init__.py index 20dc2f3..c716b8d 100644 --- a/plasmapy_sphinx/automodsumm/__init__.py +++ b/plasmapy_sphinx/automodsumm/__init__.py @@ -1,10 +1,10 @@ """ -This sub-package contains functionality that defines the :rst:dir:`automodsumm` -directive and the +`plasmapy_sphinx.automodsumm` contains functionality that defines the +:rst:dir:`automodsumm` directive, and the associated automatic `stub file generation `_ -for items listed in :rst:dir:`automodsumm` tables. +for the documented items in the generated :rst:dir:`automodsumm` tables. *This functionality was highly influenced by and adapted from* `sphinx.ext.autosummary` *and* `sphinx_automodapi.automodsumm`. diff --git a/plasmapy_sphinx/ext/automodsumm.py b/plasmapy_sphinx/ext/automodsumm.py index 6e423b4..6286f8d 100644 --- a/plasmapy_sphinx/ext/automodsumm.py +++ b/plasmapy_sphinx/ext/automodsumm.py @@ -1,3 +1,13 @@ +""" +This module is a `Sphinx extension +`_ +that exposes the functionality of `plasmapy_sphinx.automodsumm`. + +.. automodapi:: plasmapy_sphinx.automodsumm + :no-index: + :no-groups: + +""" from sphinx.application import Sphinx from plasmapy_sphinx.automodsumm import core From 5e90ed9e99c2200a91766a30004a5ce91c5fd17f Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 17:04:53 -0700 Subject: [PATCH 51/62] update docstrings for css and directives --- plasmapy_sphinx/directives/__init__.py | 2 +- plasmapy_sphinx/ext/css.py | 9 +++++++++ plasmapy_sphinx/ext/directives.py | 10 ++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/plasmapy_sphinx/directives/__init__.py b/plasmapy_sphinx/directives/__init__.py index 681fcf3..556b370 100644 --- a/plasmapy_sphinx/directives/__init__.py +++ b/plasmapy_sphinx/directives/__init__.py @@ -1,5 +1,5 @@ """ -This sub-package defines +`plasmapy_sphinx.directives` defines `directives `_ and diff --git a/plasmapy_sphinx/ext/css.py b/plasmapy_sphinx/ext/css.py index 2ef77a9..82a2516 100644 --- a/plasmapy_sphinx/ext/css.py +++ b/plasmapy_sphinx/ext/css.py @@ -1,3 +1,12 @@ +""" +This module is a `Sphinx extension +`_ +that adds the PlasmaPy CSS style sheet to the `sphinx` build +environment. The :file:`plasmapy.css` is loaded into the build system +using `~sphinx.application.Sphinx.add_css_file` with a priority of +``501``. +""" + from sphinx.application import Sphinx from plasmapy_sphinx.utils import static_dir, css_dir diff --git a/plasmapy_sphinx/ext/directives.py b/plasmapy_sphinx/ext/directives.py index 1485bf7..d07b917 100644 --- a/plasmapy_sphinx/ext/directives.py +++ b/plasmapy_sphinx/ext/directives.py @@ -1,3 +1,13 @@ +""" +This module is a `Sphinx extension +`_ +that exposes the functionality of `plasmapy_sphinx.directives`. + +.. automodapi:: plasmapy_sphinx.directives + :no-index: + :no-groups: + +""" from sphinx.application import Sphinx from plasmapy_sphinx.directives import confval, event From 3a9f76c3822db671d551030ccd578e9ad2ced0c8 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 17:34:07 -0700 Subject: [PATCH 52/62] add docstring for plasmapy_sphinx.theme --- plasmapy_sphinx/theme/__init__.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/plasmapy_sphinx/theme/__init__.py b/plasmapy_sphinx/theme/__init__.py index fdb54ae..a763a8d 100644 --- a/plasmapy_sphinx/theme/__init__.py +++ b/plasmapy_sphinx/theme/__init__.py @@ -1,5 +1,20 @@ # Sphinx Guide to Theme Development # https://www.sphinx-doc.org/en/master/development/theming.html +""" +The PlasmaPy theme is a `Sphinx theme +`_ that +inherits from the `sphinx_rtd_theme`. As such, it shares all the same +`configuration values supported by sphinx_rtd_theme +`_\ . + +To use the PlasmaPy theme one needs to the :file:`conf.py`: + +.. code-block:: python + + extensions = ["plasmapy_sphinx.theme"] + html_theme = "plasmapy_theme" + +""" __all__ = ["setup"] from sphinx.application import Sphinx From 14d9f9c2d483a6aa0f3355037098410a93304016 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 17:34:36 -0700 Subject: [PATCH 53/62] plasmapy_sphinx.theme to the sidebar Extensions section --- docs/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.rst b/docs/index.rst index 8ec4667..332e8ee 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -40,6 +40,7 @@ just a selection of desired ones. api_static/plasmapy_sphinx.ext.automodsumm api_static/plasmapy_sphinx.ext.css api_static/plasmapy_sphinx.ext.directives + api_static/plasmapy_sphinx.theme .. toctree:: :caption: Contributor Guide From 49121218067442aba2c9e314472a6e536141f5bf Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 17:45:16 -0700 Subject: [PATCH 54/62] remove admonition note about not being released on PyPI --- docs/index.rst | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 332e8ee..083a631 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -15,13 +15,7 @@ just a selection of desired ones. .. note:: - `plasmapy_sphinx` is not currently released in any form and can - only be installed directly from its `GitHub repository - `__. We do plan to - release it to https://pypi.org but there is no scheduled release - date at this time. - - Additionally, this package currently has no tests covering its + This package currently has no tests covering its functionality. From e4bd8428f2c9e9d9f1fffbfd42695fe2a98dc1e1 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 17:45:57 -0700 Subject: [PATCH 55/62] delete docs/first_steps/configure.rst --- docs/first_steps/configure.rst | 4 ---- docs/index.rst | 1 - 2 files changed, 5 deletions(-) delete mode 100644 docs/first_steps/configure.rst diff --git a/docs/first_steps/configure.rst b/docs/first_steps/configure.rst deleted file mode 100644 index 7fdf4d6..0000000 --- a/docs/first_steps/configure.rst +++ /dev/null @@ -1,4 +0,0 @@ -Configuring Your ``conf.py`` -============================ - -blah diff --git a/docs/index.rst b/docs/index.rst index 083a631..c4dd55c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -24,7 +24,6 @@ just a selection of desired ones. :maxdepth: 1 Installing - Configuring .. toctree:: :caption: Extensions From 10899b7a319e4820a9f113e98ee9c724508e84ce Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 17:46:55 -0700 Subject: [PATCH 56/62] rename Installing to Installation --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index c4dd55c..4939a75 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -23,7 +23,7 @@ just a selection of desired ones. :caption: First Steps :maxdepth: 1 - Installing + Installation .. toctree:: :caption: Extensions From 0052dd561d81fa47411bc6bd9b59d94ec25642e3 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 17:48:11 -0700 Subject: [PATCH 57/62] add noqa --- plasmapy_sphinx/automodsumm/generate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plasmapy_sphinx/automodsumm/generate.py b/plasmapy_sphinx/automodsumm/generate.py index 86314f6..8c5075b 100644 --- a/plasmapy_sphinx/automodsumm/generate.py +++ b/plasmapy_sphinx/automodsumm/generate.py @@ -24,7 +24,7 @@ from plasmapy_sphinx.utils import templates_dir -if False: +if False: # noqa # for annotation, does not need real import from sphinx.application import Sphinx From 7b2fc1ed5baa31436a6a8df241efa5cb546130cf Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 19:31:41 -0700 Subject: [PATCH 58/62] copy and modify installation instructions from plasmapy docs --- docs/first_steps/install.rst | 131 ++++++++++++++++++++++++++++++++++- 1 file changed, 129 insertions(+), 2 deletions(-) diff --git a/docs/first_steps/install.rst b/docs/first_steps/install.rst index 2b5e7a1..ba69555 100644 --- a/docs/first_steps/install.rst +++ b/docs/first_steps/install.rst @@ -1,4 +1,131 @@ +.. _plasmapy-install: + +.. |minpython| replace:: 3.8 + +.. _git: https://git-scm.com/ +.. |git| replace:: git_ + +.. _pip: https://pip.pypa.io +.. |pip| replace:: pip_ + +.. _Python: https://www.python.org/ +.. |Python| replace:: Python_ + +.. _PyPI: https://pypi.org/ +.. |PyPI| replace:: PyPI_ + +.. _`Github repository`: https://github.com/PlasmaPy/plasmapy_sphinx +.. |Github repository| replace:: `Github repository`_ + +.. role:: py(code) + :language: python + +.. role:: bash(code) + :language: bash + +**************************** Installing `plasmapy_sphinx` -============================ +**************************** + +`plasmapy_sphinx` requires a minimum |Python| version of |minpython|. If +you do not have |Python| installed already, here are the instructions +to `download Python`_ and install it. 🐍 + +.. contents:: Contents + :local: + +.. _install-pip: + +Installing with pip +=================== + +To install the most recent release of `plasmapy_sphinx` on |PyPI| with +|pip| into an existing |Python| |minpython|\ + environment on macOS or +Linux, open a terminal and run: + +.. code-block:: bash + + python -m pip install plasmapy + +On some systems, it might be necessary to specify the |Python| version +number by using ``python3``, ``python3.8``, ``python3.9``, +``python3.10``, or ``python3.11`` instead of ``python``. + +To install PlasmaPy on Windows, run: + +.. code-block:: bash + + py -3.11 -m pip install plasmapy + +The version of |Python| may be changed from ``3.11`` to another supported +Python |minpython|\ + release that has been installed on your computer. + +For more detailed information, please refer to this tutorial on +`installing packages`_. + +Installing from source code +=========================== + +Obtaining official releases +--------------------------- + +A ZIP_ file containing the source code for official releases of +`plasmapy_sphinx` can be obtained `from PyPI`_. + +Alternatively, official releases can be downloaded from the releases_ +page on the |GitHub repository|. + +Obtaining source code from GitHub +--------------------------------- + +If you have |git| installed on your computer, you may clone the +|Github repository| and access the source code from the most +recent development version by running: + +.. code-block:: bash + + git clone https://github.com/PlasmaPy/plasmapy_sphinx.git + +The repository will be cloned inside a new subdirectory called +:file:`plasmapy_sphinx`. + +If you do not have |git| installed on your computer, then you may +download the most recent source code from |Github repository| +by going to :guilabel:`Code` and selecting :guilabel:`Download ZIP`. +`Unzipping `__ the file will +create a subdirectory called :file:`plasmapy_sphinx` that contains the +source code. + +Building and installing +----------------------- + +To install the downloaded version of `plasmapy_sphinx`, enter the +:file:`plasmapy_sphinx` directory and run: + +.. code-block:: bash + + pip install . + +If you expect to occasionally edit the source code, instead run: + +.. code-block:: bash + + pip install -e . + +The ``-e`` flag makes the installation editable. + +.. note:: + + If you noticed any places where the installation instructions could + be improved or have become out of date, please `create an issue`_ on + |Github repository|. It would really help! -blah +.. _clone a repository using SSH: https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-ssh-urls +.. _create an issue: https://github.com/PlasmaPy/plasmapy_sphinx/issues/new/choose +.. _download Python: https://www.python.org/downloads +.. _from PyPI: https://pypi.org/project/plasmapy_sphinx +.. _from Zenodo: https://doi.org/10.5281/zenodo.6774349 +.. _installing packages: https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-from-vcs +.. _releases: https://github.com/PlasmaPy/plasmapy_sphinx/releases +.. _virtual environment: https://realpython.com/python-virtual-environments-a-primer +.. _ZIP: https://en.wikipedia.org/wiki/ZIP_(file_format) From 353a51c92cb5ffd6906f9be042a94086ae3beca7 Mon Sep 17 00:00:00 2001 From: Erik Date: Tue, 6 May 2025 15:45:31 -0700 Subject: [PATCH 59/62] remove noqa --- plasmapy_sphinx/automodsumm/generate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plasmapy_sphinx/automodsumm/generate.py b/plasmapy_sphinx/automodsumm/generate.py index 8c5075b..86314f6 100644 --- a/plasmapy_sphinx/automodsumm/generate.py +++ b/plasmapy_sphinx/automodsumm/generate.py @@ -24,7 +24,7 @@ from plasmapy_sphinx.utils import templates_dir -if False: # noqa +if False: # for annotation, does not need real import from sphinx.application import Sphinx From b5171d73118346e56c67c70d79dbb4c897f92273 Mon Sep 17 00:00:00 2001 From: Erik Date: Tue, 6 May 2025 16:31:39 -0700 Subject: [PATCH 60/62] add permissions statement --- .github/workflows/check_install.yml | 2 +- .github/workflows/mint-release.yml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check_install.yml b/.github/workflows/check_install.yml index 20d94f0..4bfc11b 100644 --- a/.github/workflows/check_install.yml +++ b/.github/workflows/check_install.yml @@ -10,7 +10,7 @@ on: pull_request: workflow_dispatch: -permissions: {} +permissions: {} # disables all GitHub permissions for the workflow jobs: pip-install-and-import: diff --git a/.github/workflows/mint-release.yml b/.github/workflows/mint-release.yml index 8987170..1270d7f 100644 --- a/.github/workflows/mint-release.yml +++ b/.github/workflows/mint-release.yml @@ -8,6 +8,8 @@ on: required: true default: 0.1.0rc1 +permissions: {} # disables all GitHub permissions for the workflow + jobs: tag: From 1fef6c9c913d2f10e6b3d09fe29d8d456dc2a803 Mon Sep 17 00:00:00 2001 From: Erik Date: Tue, 6 May 2025 16:34:20 -0700 Subject: [PATCH 61/62] remove if-clause for importing importlib.metadata --- plasmapy_sphinx/__init__.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/plasmapy_sphinx/__init__.py b/plasmapy_sphinx/__init__.py index 00ca5b5..cdefa04 100644 --- a/plasmapy_sphinx/__init__.py +++ b/plasmapy_sphinx/__init__.py @@ -73,10 +73,7 @@ if sys.version_info < (3, 8): # coverage: ignore raise ImportError("plasmapy_sphinx does not support Python < 3.8") -if sys.version_info >= (3, 8): - from importlib.metadata import version, PackageNotFoundError -else: - from importlib_metadata import version, PackageNotFoundError +from importlib.metadata import version, PackageNotFoundError from plasmapy_sphinx import autodoc, automodsumm, directives, utils From 0b2ca048946021b075a0393c098a18502772de7b Mon Sep 17 00:00:00 2001 From: Erik Everson Date: Thu, 8 May 2025 12:55:08 -0700 Subject: [PATCH 62/62] Apply suggestions from code review Co-authored-by: Nick Murphy --- docs/first_steps/install.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/first_steps/install.rst b/docs/first_steps/install.rst index ba69555..097b449 100644 --- a/docs/first_steps/install.rst +++ b/docs/first_steps/install.rst @@ -121,10 +121,9 @@ The ``-e`` flag makes the installation editable. |Github repository|. It would really help! .. _clone a repository using SSH: https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-ssh-urls -.. _create an issue: https://github.com/PlasmaPy/plasmapy_sphinx/issues/new/choose +.. _create an issue: https://github.com/PlasmaPy/plasmapy_sphinx/issues/new .. _download Python: https://www.python.org/downloads .. _from PyPI: https://pypi.org/project/plasmapy_sphinx -.. _from Zenodo: https://doi.org/10.5281/zenodo.6774349 .. _installing packages: https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-from-vcs .. _releases: https://github.com/PlasmaPy/plasmapy_sphinx/releases .. _virtual environment: https://realpython.com/python-virtual-environments-a-primer