diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 4819d834..dda4a9e0 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -17,8 +17,6 @@ updates:
insecure-external-code-execution: "deny"
pull-request-branch-name:
separator: "/"
- reviewers:
- - "andthum"
labels:
- "dependencies"
- "patch"
@@ -33,8 +31,6 @@ updates:
insecure-external-code-execution: "deny"
pull-request-branch-name:
separator: "/"
- reviewers:
- - "andthum"
labels:
- "dependencies"
- "skip-changelog"
@@ -49,8 +45,6 @@ updates:
insecure-external-code-execution: "deny"
pull-request-branch-name:
separator: "/"
- reviewers:
- - "andthum"
labels:
- "dependencies"
- "skip-changelog"
@@ -62,8 +56,6 @@ updates:
interval: "weekly"
pull-request-branch-name:
separator: "/"
- reviewers:
- - "andthum"
labels:
- "dependencies"
- "skip-changelog"
diff --git a/.github/workflows/cff-validator.yml b/.github/workflows/cff-validator.yml
index d5265ee0..992b089e 100644
--- a/.github/workflows/cff-validator.yml
+++ b/.github/workflows/cff-validator.yml
@@ -27,9 +27,9 @@ jobs:
runs-on: "${{ matrix.os }}"
steps:
- name: "Checkout repository"
- uses: "actions/checkout@v4"
+ uses: "actions/checkout@v6"
- name: "Set up Python ${{ matrix.python-version }}"
- uses: "actions/setup-python@v5"
+ uses: "actions/setup-python@v6"
with:
python-version: "${{ matrix.python-version }}"
- name: "Export ${HOME}/.local/bin to ${PATH}"
@@ -44,7 +44,7 @@ jobs:
python -m pip install --user --upgrade pip
echo "dir=$(pip cache dir)" >> ${GITHUB_OUTPUT}
- name: "Create/Restore cache"
- uses: "actions/cache@v4"
+ uses: "actions/cache@v5"
with:
path: "${{ steps.pip-cache.outputs.dir }}/**"
key: |
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index b73fbb28..b05785cd 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -27,9 +27,9 @@ jobs:
security-events: "write"
steps:
- name: "Checkout repository"
- uses: "actions/checkout@v4"
+ uses: "actions/checkout@v6"
- name: "Set up Python ${{ matrix.python-version }}"
- uses: "actions/setup-python@v5"
+ uses: "actions/setup-python@v6"
with:
python-version: "${{ matrix.python-version }}"
- name: "Export ${HOME}/.local/bin to ${PATH}"
@@ -44,7 +44,7 @@ jobs:
python -m pip install --user --upgrade pip
echo "dir=$(pip cache dir)" >> ${GITHUB_OUTPUT}
- name: "Create/Restore cache"
- uses: "actions/cache@v4"
+ uses: "actions/cache@v5"
with:
path: "${{ steps.pip-cache.outputs.dir }}/**"
key: |
@@ -72,7 +72,7 @@ jobs:
# executable that includes the dependencies.
echo "CODEQL_PYTHON=$(which python)" >> ${GITHUB_ENV}
- name: "Initialize CodeQL"
- uses: "github/codeql-action/init@v3"
+ uses: "github/codeql-action/init@v4"
with:
languages: "python"
# Override the default behavior so that the action doesn't
@@ -80,4 +80,4 @@ jobs:
# https://docs.github.com/en/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#analyzing-python-dependencies
setup-python-dependencies: false
- name: "Perform CodeQL Analysis"
- uses: "github/codeql-action/analyze@v3"
+ uses: "github/codeql-action/analyze@v4"
diff --git a/.github/workflows/tests-skip.yml b/.github/workflows/tests-skip.yml
index 67de5e5b..93aeecc6 100644
--- a/.github/workflows/tests-skip.yml
+++ b/.github/workflows/tests-skip.yml
@@ -53,27 +53,23 @@ jobs:
strategy:
matrix:
# Tests must be run on all target platforms and Python versions.
- # Python <3.8 is not supported in the MacOS 14 runner.
os:
- "ubuntu-latest"
- - "macos-13"
- "windows-latest"
python-version:
- "3.6"
- "3.7"
- "3.8"
- "3.9"
- # Python 3.6 is not supported anymore in the Ubuntu 22.04 runner
- # https://github.com/actions/setup-python/issues/544#issuecomment-1332535877
- # Python 3.7 is not supported anymore in the Ubuntu 24.04 runner
exclude:
+ # Python 3.6 is not supported anymore in the Ubuntu 22.04 runner
+ # https://github.com/actions/setup-python/issues/544#issuecomment-1332535877
+ # Python 3.7 is not supported anymore in the Ubuntu 24.04 runner
- os: "ubuntu-latest"
python-version: "3.6"
- os: "ubuntu-latest"
python-version: "3.7"
include:
- - os: "ubuntu-20.04"
- python-version: "3.6"
- os: "ubuntu-22.04"
python-version: "3.7"
# Do not cancel in-progress jobs if any matrix job fails
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 07f7dea3..042c97da 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -37,9 +37,9 @@ jobs:
runs-on: "${{ matrix.os }}"
steps:
- name: "Checkout repository"
- uses: "actions/checkout@v4"
+ uses: "actions/checkout@v6"
- name: "Set up Python ${{ matrix.python-version }}"
- uses: "actions/setup-python@v5"
+ uses: "actions/setup-python@v6"
with:
python-version: "${{ matrix.python-version }}"
- name: "Export ${HOME}/.local/bin to ${PATH}"
@@ -54,7 +54,7 @@ jobs:
python -m pip install --user --upgrade pip
echo "dir=$(pip cache dir)" >> ${GITHUB_OUTPUT}
- name: "Create/Restore cache"
- uses: "actions/cache@v4"
+ uses: "actions/cache@v5"
with:
path: "${{ steps.pip-cache.outputs.dir }}/**"
key: |
@@ -148,27 +148,23 @@ jobs:
strategy:
matrix:
# Tests must be run on all target platforms and Python versions.
- # Python <3.8 is not supported in the MacOS 14 runner.
os:
- "ubuntu-latest"
- - "macos-13"
- "windows-latest"
python-version:
- "3.6"
- "3.7"
- "3.8"
- "3.9"
- # Python 3.6 is not supported anymore in the Ubuntu 22.04 runner
- # https://github.com/actions/setup-python/issues/544#issuecomment-1332535877
- # Python 3.7 is not supported anymore in the Ubuntu 24.04 runner
exclude:
+ # Python 3.6 is not supported anymore in the Ubuntu 22.04 runner
+ # https://github.com/actions/setup-python/issues/544#issuecomment-1332535877
+ # Python 3.7 is not supported anymore in the Ubuntu 24.04 runner
- os: "ubuntu-latest"
python-version: "3.6"
- os: "ubuntu-latest"
python-version: "3.7"
include:
- - os: "ubuntu-20.04"
- python-version: "3.6"
- os: "ubuntu-22.04"
python-version: "3.7"
# Do not cancel in-progress jobs if any matrix job fails
@@ -176,9 +172,9 @@ jobs:
runs-on: "${{ matrix.os }}"
steps:
- name: "Checkout repository"
- uses: "actions/checkout@v4"
+ uses: "actions/checkout@v6"
- name: "Set up Python ${{ matrix.python-version }}"
- uses: "actions/setup-python@v5"
+ uses: "actions/setup-python@v6"
with:
python-version: "${{ matrix.python-version }}"
- name: "Export ${HOME}/.local/bin to ${PATH}"
@@ -193,7 +189,7 @@ jobs:
python -m pip install --user --upgrade pip
echo "dir=$(pip cache dir)" >> ${GITHUB_OUTPUT}
- name: "Create/Restore cache"
- uses: "actions/cache@v4"
+ uses: "actions/cache@v5"
with:
path: |
${{ steps.pip-cache.outputs.dir }}/**
@@ -215,7 +211,7 @@ jobs:
python -m pip install --user --upgrade setuptools wheel
python -m pip install --user --upgrade python-dev-tools
python -m pip install --user "Cython <3.0"
- python -m pip install --user "numpy >=1.19.2"
+ python -m pip install --user "numpy >=1.19.2,<2.0"
- name: "Test installation of MDTools"
run: |
python -m pip install --user .
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index d35c6dac..969c6c0b 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -38,6 +38,8 @@ ci:
repos:
- repo: "https://github.com/pre-commit/pre-commit-hooks"
+ # Stay at pre-commit-hooks version 5, because pre-commit-hooks drops
+ # support for Python 3.8 in version 6. Latest 5 version is v5.0.0.
rev: "v5.0.0"
hooks:
### Git ###
@@ -116,7 +118,10 @@ repos:
- id: "check-pre-commit-ci-config"
- repo: "https://github.com/python-jsonschema/check-jsonschema"
- rev: "0.31.2"
+ # Stay at version 0.30.0 together with jsonschema <=4.18, because
+ # higher versions require regress>=2024.11.1, but only
+ # regress <=2024.8.1 seems to support Python 3.8
+ rev: "0.30.0"
hooks:
# Validate Dependabot Config (v2) against the schema provided by
# SchemaStore.
@@ -186,6 +191,9 @@ repos:
- "--color"
- repo: "https://github.com/PyCQA/flake8"
+ # Stay at flake8 version 7.1.2, because higher versions require
+ # pycodestyle >=2.13.0, but only pycodestyle <=2.12.1 seems to
+ # support Python 3.8
rev: "7.1.2"
hooks:
# Lint Python code with Flake8.
@@ -208,7 +216,9 @@ repos:
- "pep8-naming >=0.1, <1.0"
- repo: "https://github.com/PyCQA/bandit"
- rev: "1.8.3"
+ # Stay at bandit version 1.7.10, because bandit drops support for
+ # Python 3.8 in version 1.8.0. Latest 1.7 version is 1.7.10.
+ rev: "1.7.10"
hooks:
# Check code security with bandit.
- id: "bandit"
@@ -230,6 +240,8 @@ repos:
######################################################################
- repo: "https://github.com/maxwinterstein/shfmt-py"
+ # Stay at shfmt-py version v3.7.0.1, because shfmt-py drops support
+ # for Python 3.8 in version v3.11.0.2.
rev: "v3.7.0.1"
hooks:
# Format shell scripts with shfmt.
@@ -251,6 +263,8 @@ repos:
- "-l"
- repo: "https://github.com/shellcheck-py/shellcheck-py"
+ # Stay at shellcheck-py version v0.10.0.1, because shellcheck-py
+ # drops support for Python 3.8 in version v0.11.0.1.
rev: "v0.10.0.1"
hooks:
# Lint shell scripts with shellcheck.
diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt
index a54dbf10..096561ad 100644
--- a/docs/requirements-docs.txt
+++ b/docs/requirements-docs.txt
@@ -6,5 +6,5 @@
# on sphinx >=1.6, <6.0
# => The sphix requirement must not be >=6.0
-sphinx >=5.0, <9.0
+sphinx >=5.0, <10.0
sphinx-rtd-theme >=1.0, <3.0
diff --git a/docs/source/conf.py b/docs/source/conf.py
index ca5f00e3..745ebe51 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -241,7 +241,7 @@
.. |explanation_of_these_terms| replace::
:raw-html:`explanation of these terms`
.. |MDA_always_guesses_atom_masses| replace::
- :raw-html:`MDAnalysis always guesses atom masses`
+ :raw-html:`MDAnalysis always guesses atom masses`
.. |shfmt| replace::
:raw-html:`shfmt`
@@ -479,6 +479,7 @@
linkcheck_ignore = [
# 403 Client Error: Forbidden for url.
r"https://www\.cabdirect\.org/cabdirect/abstract/19272700028",
+ r"https://docutils\.sourceforge\.io/docs/ref/rst/restructuredtext\.html#bullet-lists", # noqa: E501
r"https://doi\.org/10\.1002/9781118033005",
r"https://doi\.org/10\.1021/acs\.jctc\.2c00327",
r"https://doi\.org/10\.1063/1\.1320826",
@@ -491,6 +492,12 @@
r"https://doi\.org/10\.1103/PhysRevB\.74\.184430",
r"https://doi\.org/10\.1103/PhysRevLett\.98\.227802",
r"https://doi\.org/10\.3233/DS-190026",
+ r"https://doi\.org/10\.5281/zenodo\.1172987",
+ r"https://doi\.org/10\.5281/zenodo\.1212495",
+ r"https://doi\.org/10\.5281/zenodo\.3233853",
+ r"https://doi\.org/10\.5281/zenodo\.7615177",
+ r"https://zenodo\.org/badge/DOI/10\.5281/zenodo\.7615177\.svg",
+ r"https://zenodo\.org/record/1172988",
# 418 Client Error: Unknown for url.
r"https://doi\.org/10\.1109/TSMC\.1979\.4310076",
]
diff --git a/setup.py b/setup.py
index 359d5d8a..0004542b 100644
--- a/setup.py
+++ b/setup.py
@@ -160,7 +160,6 @@ def get_content(fname="README.rst"):
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", # noqa: E501
"Natural Language :: English",
- "Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
diff --git a/src/mdtools/check.py b/src/mdtools/check.py
index 136bed33..e8a6b57f 100644
--- a/src/mdtools/check.py
+++ b/src/mdtools/check.py
@@ -1548,7 +1548,7 @@ def masses(ag, flash_test=True):
of mass.
.. _MDAnalysis always guesses atom masses:
- https://userguide.mdanalysis.org/formats/guessing.html
+ https://userguide.mdanalysis.org/stable/guessing.html
Parameters
----------
@@ -1615,7 +1615,7 @@ def masses_new(ag, verbose=False):
center of mass.
.. _MDAnalysis always guesses atom masses:
- https://userguide.mdanalysis.org/formats/guessing.html
+ https://userguide.mdanalysis.org/stable/guessing.html
Parameters
----------
diff --git a/src/mdtools/structure.py b/src/mdtools/structure.py
index 5bcd7689..277b8161 100644
--- a/src/mdtools/structure.py
+++ b/src/mdtools/structure.py
@@ -951,7 +951,7 @@ def com(ag, pbc=False, compound="group", make_whole=False, debug=False):
:class:`~MDAnalysis.core.groups.Atom` coordinates.
.. _MDAnalysis always guesses atom masses:
- https://userguide.mdanalysis.org/formats/guessing.html
+ https://userguide.mdanalysis.org/stable/guessing.html
"""
if compound == "atoms":
if pbc: