diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 38a4ed07..f417bfab 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -7,9 +7,9 @@ version: 2 # Set the OS, Python version and other tools you might need build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - python: "3.9" + python: "3.12" # Build documentation in the docs/ directory with Sphinx sphinx: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 38593781..a131f624 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,7 +30,7 @@ As in the main code, docstrings and comments should be added to clarify the inte ## Coding style -We aim to be [PEP8](https://www.python.org/dev/peps/pep-0008/) compliant, with a slightly more relaxed attitude towards line length. Lines up to 100 chars are allowed if it means better readability. +We aim to be [PEP8](https://www.python.org/dev/peps/pep-0008/) compliant, with a slightly more relaxed attitude towards line length. Lines up to 120 chars are allowed if it means better readability. ### flake8 @@ -53,18 +53,18 @@ This will stop the commit from happening if flake8 checks do not pass. ### isort -`isort` keeps imports in the [PEP8 recommended order](https://www.python.org/dev/peps/pep-0008/#id23) (flake8 / pep8 tools don't handle this). It can be run manually by typing in `isort -rc .` in `cellmlmanip/` and this should generate no errors. +`isort` keeps imports in the [PEP8 recommended order](https://www.python.org/dev/peps/pep-0008/#id23) (flake8 / pep8 tools don't handle this). It can be run manually by typing in `isort .` in `cellmlmanip/` and this should generate no errors. There is a git pre-commit hook for this too, the process is a little more manual than for flake8: -https://github.com/timothycrosley/isort#git-hook +https://github.com/PyCQA/isort#git-hook ## Documentation Documentation is generated from the docstrings in the code, and files in the ``docs`` directory. -Both are written using [reStructuredText](http://docutils.sourceforge.net/docs/user/rst/quickref.html). -This is then compiled into HTML (or other formats) using [Sphinx](http://www.sphinx-doc.org/en/stable/). +Both are written using [reStructuredText](https://docutils.sourceforge.io/docs/user/rst/quickref.html). +This is then compiled into HTML (or other formats) using [Sphinx](https://www.sphinx-doc.org/en/stable/). We use [readthedocs.org](https://readthedocs.org) to do this automatically, with the result visible at [https://cellmlmanip.readthedocs.io](https://cellmlmanip.readthedocs.io). ### Building the documentation locally diff --git a/README.md b/README.md index 23b1da7c..b6ca5f8f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Build status](https://github.com/ModellingWebLab/cellmlmanip/actions/workflows/unit-test.yml/badge.svg) [![Documentation Status](https://readthedocs.org/projects/cellmlmanip/badge/?version=latest)](https://cellmlmanip.readthedocs.io/en/latest/?badge=latest) [![Coverage Status](https://codecov.io/gh/ModellingWebLab/cellmlmanip/branch/develop/graph/badge.svg)](https://codecov.io/gh/ModellingWebLab/cellmlmanip/) +![Build status](https://github.com/ModellingWebLab/cellmlmanip/actions/workflows/unit-test.yml/badge.svg) [![Documentation Status](https://readthedocs.org/projects/cellmlmanip/badge/?version=latest)](https://cellmlmanip.readthedocs.io/en/latest/?badge=latest) [![Coverage Status](https://codecov.io/gh/ModellingWebLab/cellmlmanip/branch/master/graph/badge.svg)](https://codecov.io/gh/ModellingWebLab/cellmlmanip/) # cellmlmanip CellML loading and model equation manipulation library @@ -12,7 +12,7 @@ Users install `cellmlmanip` using pip. pip install cellmlmanip ``` -Cellmlmanip is tested and developed on Python 3.9 and higher. +Cellmlmanip is tested and developed on Python 3.10 and higher. ## Release notes For release notes see [RELEASE.md](./RELEASE.md) diff --git a/docs/source/conf.py b/docs/source/conf.py index b91e9ce5..748fb75b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -28,7 +28,7 @@ # If your documentation needs a minimal Sphinx version, state it here. # -needs_sphinx = '2.0' +needs_sphinx = '7.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom @@ -52,7 +52,7 @@ # Where to find documentation for projects we use intersphinx_mapping = { - 'networkx': ('https://networkx.github.io/documentation/stable/', None), + 'networkx': ('https://networkx.org/documentation/stable/', None), 'rdflib': ('https://rdflib.readthedocs.io/en/stable/', None), 'sympy': ('https://docs.sympy.org/latest/', None), 'pint': ('https://pint.readthedocs.io/en/stable/', None), diff --git a/pyproject.toml b/pyproject.toml index c7236a62..b2c4145f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,7 +35,7 @@ dynamic = ["version"] [project.optional-dependencies] docs = [ - "sphinx>=2.0", + "sphinx>=7.0", ] test = [ "flake8",