From d827e611a8990b01e7b5c3eb1d02f6c198c2f917 Mon Sep 17 00:00:00 2001 From: Brady Planden Date: Tue, 9 Jul 2024 13:40:48 +0100 Subject: [PATCH 1/7] add initial lychee github action --- .github/workflows/lychee_links.yaml | 50 +++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/lychee_links.yaml diff --git a/.github/workflows/lychee_links.yaml b/.github/workflows/lychee_links.yaml new file mode 100644 index 00000000..de274f75 --- /dev/null +++ b/.github/workflows/lychee_links.yaml @@ -0,0 +1,50 @@ +# Lychee Link Checking + +name: Links +on: + workflow_dispatch: + pull_request: + push: + branches: + - main + schedule: + - cron: '0 6 * * 0' # Run weekly on Sundays at 06:00 UTC + +jobs: + linkChecker: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Restore lychee cache + uses: actions/cache@v4 + with: + path: .lycheecache + key: cache-lychee-${{ github.sha }} + restore-keys: cache-lychee- + + - name: Set up Lychee + uses: lycheeverse/lychee-action@v1.10.0 + with: + args: >- + --cache + --no-progress + --max-cache-age 2d + --timeout 10 + --max-retries 5 + --skip-missing + --exclude-loopback + --accept 200,429 + --exclude-path ./CHANGELOG.md + --exclude-path asv.conf.json + --exclude-path docs/conf.py + './**/*.rst' + './**/*.md' + './**/*.py' + './**/*.ipynb' + './**/*.json' + './**/*.toml' + fail: true + jobSummary: true + format: markdown From db17af0be90d742888efca713e7f7d3abb0e9795 Mon Sep 17 00:00:00 2001 From: Brady Planden Date: Tue, 9 Jul 2024 13:45:57 +0100 Subject: [PATCH 2/7] add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2cb56fe..b7ae3616 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Features +- [#403](https://github.com/pybop-team/PyBOP/pull/403/) - Adds lychee link checking action. ## Bug Fixes From 355e9714c51a0695d2c34b6defd595aabec0fb08 Mon Sep 17 00:00:00 2001 From: Brady Planden Date: Tue, 9 Jul 2024 14:06:24 +0100 Subject: [PATCH 3/7] fix: stale/broken links caught by lychee --- CONTRIBUTING.md | 2 +- README.md | 2 +- .../1-single-pulse-circuit-model.ipynb | 38 +++++++++---------- .../notebooks/pouch_cell_identification.ipynb | 2 +- examples/notebooks/spm_electrode_design.ipynb | 4 +- pyproject.toml | 2 +- 6 files changed, 25 insertions(+), 25 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 727c5c51..5ecce13a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -62,7 +62,7 @@ You now have everything you need to start making changes! ### B. Writing your code -6. PyBOP is developed in [Python](https://en.wikipedia.org/wiki/Python_(programming_language)), and makes heavy use of [NumPy](https://en.wikipedia.org/wiki/NumPy) (see also [NumPy for MatLab users](https://numpy.org/doc/stable/user/numpy-for-matlab-users.html) and [Python for R users](http://blog.hackerearth.com/how-can-r-users-learn-python-for-data-science)). +6. PyBOP is developed in [Python](https://en.wikipedia.org/wiki/Python_(programming_language)), and makes heavy use of [NumPy](https://en.wikipedia.org/wiki/NumPy) (see also [NumPy for MatLab users](https://numpy.org/doc/stable/user/numpy-for-matlab-users.html) and [Python for R users](https://www.hackerearth.com/blog/developers/how-can-r-users-start-learning-python-for-data-science/)). 7. Make sure to follow our [coding style guidelines](#coding-style-guidelines). 8. Commit your changes to your branch with [useful, descriptive commit messages](https://chris.beams.io/posts/git-commit/): Remember these are publicly visible and should still make sense a few months ahead in time. While developing, you can keep using the GitHub issue you're working on as a place for discussion. [Refer to your commits](https://stackoverflow.com/questions/8910271/how-can-i-reference-a-commit-in-an-issue-comment-on-github) when discussing specific lines of code. 9. If you want to add a dependency on another library, or re-use code you found somewhere else, have a look at [these guidelines](#dependencies-and-reusing-code). diff --git a/README.md b/README.md index 99f7a031..ae609461 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ [![Contributors](https://img.shields.io/github/contributors/pybop-team/PyBOP)](https://github.com/pybop-team/PyBOP/graphs/contributors) [![Last Commit](https://img.shields.io/github/last-commit/pybop-team/PyBOP/develop?color=purple)](https://github.com/pybop-team/PyBOP/commits/develop) [![Python Versions from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fpybop-team%2FPyBOP%2Fdevelop%2Fpyproject.toml&label=Python)](https://pypi.org/project/pybop/) - [![Forks](https://img.shields.io/github/forks/pybop-team/PyBOP?style=flat)](https://github.com/pybop-team/PyBOPe/network/members) + [![Forks](https://img.shields.io/github/forks/pybop-team/PyBOP?style=flat)](https://github.com/pybop-team/PyBOP/network/members) [![Stars](https://img.shields.io/github/stars/pybop-team/PyBOP?style=flat&color=gold)](https://github.com/pybop-team/PyBOP/stargazers) [![Codecov](https://codecov.io/gh/pybop-team/PyBOP/branch/develop/graph/badge.svg)](https://codecov.io/gh/pybop-team/PyBOP) [![Open Issues](https://img.shields.io/github/issues/pybop-team/PyBOP)](https://github.com/pybop-team/PyBOP/issues/) diff --git a/examples/notebooks/LG_M50_ECM/1-single-pulse-circuit-model.ipynb b/examples/notebooks/LG_M50_ECM/1-single-pulse-circuit-model.ipynb index 9fd084dd..9030596d 100644 --- a/examples/notebooks/LG_M50_ECM/1-single-pulse-circuit-model.ipynb +++ b/examples/notebooks/LG_M50_ECM/1-single-pulse-circuit-model.ipynb @@ -7,7 +7,7 @@ "source": [ "## LG M50 Single Pulse Parameter Identification\n", "\n", - "This example presents an experimental parameter identification method for a two-RC circuit model. The data for this notebook is located within the same directory and was obtained from [[1]](https://github.com/WDWidanage/Simscape-Battery-Library/tree/main/Examples/parameterEstimation_TECMD/Data).\n", + "This example presents an experimental parameter identification method for a two-RC circuit model. The data for this notebook is located within the same directory and was obtained from WDWidanage/Simscape-Battery-Library [[1]](https://github.com/WDWidanage/Simscape-Battery-Library/tree/a3842b91b3ccda006bc9be5d59c8bcbd167ceef7/Examples/parameterEstimation_TECMD/Data).\n", "\n", "\n", "### Setting up the Environment\n", @@ -261,7 +261,7 @@ { "type": "scatter", "x": [ - 0.0, + 0, 0.01800000004004687, 0.12100000004284084, 0.25100000004749745, @@ -571,7 +571,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -607,7 +607,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -631,7 +631,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -667,7 +667,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -682,7 +682,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -718,7 +718,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -745,7 +745,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -781,7 +781,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -796,7 +796,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -832,7 +832,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -977,7 +977,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1013,7 +1013,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -1104,7 +1104,7 @@ ], "sequential": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1140,13 +1140,13 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], "sequentialminus": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1182,7 +1182,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ] @@ -1888,7 +1888,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.2" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/examples/notebooks/pouch_cell_identification.ipynb b/examples/notebooks/pouch_cell_identification.ipynb index d952e22c..47615ce2 100644 --- a/examples/notebooks/pouch_cell_identification.ipynb +++ b/examples/notebooks/pouch_cell_identification.ipynb @@ -8,7 +8,7 @@ "source": [ "## Pouch Cell Model Parameter Identification\n", "\n", - "In this notebook, we present the single particle model with a two dimensional current collector. This is achieved via the potential-pair models introduced in [[1]](10.1149/1945-7111/abbce4) as implemented in PyBaMM. At a high-level this is accomplished as a potential-pair model which is resolved across the discretised spatial locations.\n", + "In this notebook, we present the single particle model with a two dimensional current collector. This is achieved via the potential-pair models introduced in Marquis et al. [[1]](https://doi.org/10.1149/1945-7111/abbce4) as implemented in PyBaMM. At a high-level this is accomplished as a potential-pair model which is resolved across the discretised spatial locations.\n", "\n", "### Setting up the Environment\n", "\n", diff --git a/examples/notebooks/spm_electrode_design.ipynb b/examples/notebooks/spm_electrode_design.ipynb index e1fd5820..90571c99 100644 --- a/examples/notebooks/spm_electrode_design.ipynb +++ b/examples/notebooks/spm_electrode_design.ipynb @@ -10,7 +10,7 @@ "\n", "NOTE: This is a brittle example, the classes and methods below will be integrated into PyBOP in a future release.\n", "\n", - "A design optimisation example loosely based on work by L.D. Couto available at https://doi.org/10.1016/j.energy.2022.125966.\n", + "A design optimisation example loosely based on work by L.D. Couto available at [[1]](https://doi.org/10.1016/j.energy.2022.125966).\n", "\n", "The target is to maximise the gravimetric energy density over a range of possible design parameter values, including for example:\n", "\n", @@ -396,7 +396,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.2" + "version": "3.11.7" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/pyproject.toml b/pyproject.toml index 99067e24..b101d343 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,7 +73,7 @@ Homepage = "https://github.com/pybop-team/PyBOP" Documentation = "https://pybop-docs.readthedocs.io" Repository = "https://github.com/pybop-team/PyBOP" Releases = "https://github.com/pybop-team/PyBOP/releases" -Changelog = "https://github.com/pybop-team/PyBOP/CHANGELOG.md" +Changelog = "https://github.com/pybop-team/PyBOP/blob/develop/CHANGELOG.md" [tool.pytest.ini_options] addopts = "--showlocals -v -n auto" From 032b41964b0916cfe481ab6f7a3d6448ae1f3a1d Mon Sep 17 00:00:00 2001 From: Brady Planden Date: Tue, 9 Jul 2024 14:25:56 +0100 Subject: [PATCH 4/7] fix: update exclusions, README AdamW link fix --- .github/workflows/lychee_links.yaml | 5 +++++ README.md | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lychee_links.yaml b/.github/workflows/lychee_links.yaml index de274f75..de3e2685 100644 --- a/.github/workflows/lychee_links.yaml +++ b/.github/workflows/lychee_links.yaml @@ -36,6 +36,11 @@ jobs: --skip-missing --exclude-loopback --accept 200,429 + --exclude "https://tiles.stadiamaps.com/*|https://b.tile.openstreetmap.org/*" + --exclude "https://cartodb-basemaps-c.global.ssl.fastly.net/*" + --exclude "https://events.mapbox.com/*" + --exclude "https://github.com/mikolalysenko/glsl-read-float/*" + --exclude "https://fonts.openmaptiles.org/*" --exclude-path ./CHANGELOG.md --exclude-path asv.conf.json --exclude-path docs/conf.py diff --git a/README.md b/README.md index ae609461..9080dc9b 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ Additional script-based examples can be found in the [examples directory](https: - [Unscented Kalman filter parameter identification of a SPM](https://github.com/pybop-team/PyBOP/blob/develop/examples/scripts/spm_UKF.py) - [Import and export parameters using Faraday's BPX format](https://github.com/pybop-team/PyBOP/blob/develop/examples/scripts/BPX_spm.py) - [Maximum a posteriori parameter identification of a SPM](https://github.com/pybop-team/PyBOP/blob/develop/examples/scripts/BPX_spm.py) -- [Gradient based parameter identification of a SPM](https://github.com/pybop-team/PyBOP/blob/develop/examples/scripts/spm_adam.py) +- [Gradient based parameter identification of a SPM](https://github.com/pybop-team/PyBOP/blob/develop/examples/scripts/spm_AdamW.py) ### Supported Methods The table below lists the currently supported [models](https://github.com/pybop-team/PyBOP/tree/develop/pybop/models), [optimisers](https://github.com/pybop-team/PyBOP/tree/develop/pybop/optimisers), and [cost functions](https://github.com/pybop-team/PyBOP/tree/develop/pybop/costs) in PyBOP. From b06d4e953725f2c1fcb9ff475f23499f973e4b66 Mon Sep 17 00:00:00 2001 From: Brady Planden Date: Tue, 9 Jul 2024 14:40:08 +0100 Subject: [PATCH 5/7] updt link exclusions --- .github/workflows/lychee_links.yaml | 4 +- .../notebooks/pouch_cell_identification.ipynb | 281 ++++++------------ 2 files changed, 92 insertions(+), 193 deletions(-) diff --git a/.github/workflows/lychee_links.yaml b/.github/workflows/lychee_links.yaml index de3e2685..ae335ac4 100644 --- a/.github/workflows/lychee_links.yaml +++ b/.github/workflows/lychee_links.yaml @@ -38,9 +38,11 @@ jobs: --accept 200,429 --exclude "https://tiles.stadiamaps.com/*|https://b.tile.openstreetmap.org/*" --exclude "https://cartodb-basemaps-c.global.ssl.fastly.net/*" - --exclude "https://events.mapbox.com/*" + --exclude "https://events.mapbox.com/*|https://api.mapbox.cn/*" --exclude "https://github.com/mikolalysenko/glsl-read-float/*" --exclude "https://fonts.openmaptiles.org/*" + --exclude "https://a.tile.openstreetmap.org/*" + --exclude "https://cdn.plot.ly/*" --exclude-path ./CHANGELOG.md --exclude-path asv.conf.json --exclude-path docs/conf.py diff --git a/examples/notebooks/pouch_cell_identification.ipynb b/examples/notebooks/pouch_cell_identification.ipynb index 47615ce2..11c87993 100644 --- a/examples/notebooks/pouch_cell_identification.ipynb +++ b/examples/notebooks/pouch_cell_identification.ipynb @@ -36,58 +36,38 @@ "name": "stdout", "output_type": "stream", "text": [ - "Requirement already satisfied: pip in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (24.0)\r\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: ipywidgets in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (8.1.2)\r\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: comm>=0.1.3 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (0.2.2)\r\n", - "Requirement already satisfied: ipython>=6.1.0 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (8.23.0)\r\n", - "Requirement already satisfied: traitlets>=4.3.1 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (5.14.2)\r\n", - "Requirement already satisfied: widgetsnbextension~=4.0.10 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (4.0.10)\r\n", - "Requirement already satisfied: jupyterlab-widgets~=3.0.10 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (3.0.10)\r\n", - "Requirement already satisfied: decorator in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (5.1.1)\r\n", - "Requirement already satisfied: jedi>=0.16 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (0.19.1)\r\n", - "Requirement already satisfied: matplotlib-inline in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (0.1.6)\r\n", - "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (3.0.43)\r\n", - "Requirement already satisfied: pygments>=2.4.0 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (2.17.2)\r\n", - "Requirement already satisfied: stack-data in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (0.6.3)\r\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pexpect>4.3 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (4.9.0)\r\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets) (0.8.4)\r\n", - "Requirement already satisfied: ptyprocess>=0.5 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets) (0.7.0)\r\n", - "Requirement already satisfied: wcwidth in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets) (0.2.13)\r\n", - "Requirement already satisfied: executing>=1.2.0 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (2.0.1)\r\n", - "Requirement already satisfied: asttokens>=2.1.0 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (2.4.1)\r\n", - "Requirement already satisfied: pure-eval in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (0.2.2)\r\n", - "Requirement already satisfied: six>=1.12.0 in /Users/engs2510/.pyenv/versions/pybop-3.12/lib/python3.12/site-packages (from asttokens>=2.1.0->stack-data->ipython>=6.1.0->ipywidgets) (1.16.0)\r\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Note: you may need to restart the kernel to use updated packages.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Requirement already satisfied: pip in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (24.1.1)\n", + "Collecting pip\n", + " Downloading pip-24.1.2-py3-none-any.whl.metadata (3.6 kB)\n", + "Requirement already satisfied: ipywidgets in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (8.1.3)\n", + "Requirement already satisfied: comm>=0.1.3 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (0.2.2)\n", + "Requirement already satisfied: ipython>=6.1.0 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (8.23.0)\n", + "Requirement already satisfied: traitlets>=4.3.1 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (5.14.2)\n", + "Requirement already satisfied: widgetsnbextension~=4.0.11 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (4.0.11)\n", + "Requirement already satisfied: jupyterlab-widgets~=3.0.11 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (3.0.11)\n", + "Requirement already satisfied: decorator in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (5.1.1)\n", + "Requirement already satisfied: jedi>=0.16 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (0.19.1)\n", + "Requirement already satisfied: matplotlib-inline in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (0.1.6)\n", + "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (3.0.43)\n", + "Requirement already satisfied: pygments>=2.4.0 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (2.17.2)\n", + "Requirement already satisfied: stack-data in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (0.6.3)\n", + "Requirement already satisfied: pexpect>4.3 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (4.9.0)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets) (0.8.4)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets) (0.7.0)\n", + "Requirement already satisfied: wcwidth in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets) (0.2.13)\n", + "Requirement already satisfied: executing>=1.2.0 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (2.0.1)\n", + "Requirement already satisfied: asttokens>=2.1.0 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (2.4.1)\n", + "Requirement already satisfied: pure-eval in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (0.2.2)\n", + "Requirement already satisfied: six>=1.12.0 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from asttokens>=2.1.0->stack-data->ipython>=6.1.0->ipywidgets) (1.16.0)\n", + "Downloading pip-24.1.2-py3-none-any.whl (1.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 MB\u001b[0m \u001b[31m14.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hInstalling collected packages: pip\n", + " Attempting uninstall: pip\n", + " Found existing installation: pip 24.1.1\n", + " Uninstalling pip-24.1.1:\n", + " Successfully uninstalled pip-24.1.1\n", + "Successfully installed pip-24.1.2\n", + "Note: you may need to restart the kernel to use updated packages.\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } @@ -454,7 +434,7 @@ { "data": { "text/plain": [ - "array([0.47496537, 0.61140011])" + "array([0.50112972, 0.60822849])" ] }, "execution_count": 12, @@ -509,7 +489,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.73.723.743.763.78ReferenceModelOptimised ComparisonTime / sVoltage / V" + "02004006008003.723.743.763.78ReferenceModelOptimised ComparisonTime / sVoltage / V" ] }, "metadata": {}, @@ -541,35 +521,6 @@ } }, "outputs": [ - { - "data": { - "text/html": [ - " \n", - " " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, { "data": { "application/vnd.plotly.v1+json": { @@ -635,39 +586,39 @@ ], "z": [ [ - -0.00022055019400039357, - -0.000208179915115477, - -0.00017733967875981405, - -0.00013382475248593996, - -0.00009744280975100401 + -0.00022054368296133442, + -0.00020817417477179742, + -0.00017733555998179898, + -0.0001338224058942881, + -0.00009744128489582522 ], [ - -0.00022006829217595638, - -0.00020771646089835422, - -0.00017025065441761346, - -0.00010411185465723509, - -1.4831730728913642e-30 + -0.0002200624215295616, + -0.00020771124661048325, + -0.00017024715510881273, + -0.00010411043723798278, + 2.0121777293998183e-28 ], [ - -0.00023289339271513726, - -0.00022148992831206213, - -0.0001854997008341146, - -0.00011792954324326614, - 1.7126139220369943e-29 + -0.00023288833495346782, + -0.0002214855296927363, + -0.00018549704922968932, + -0.0001179289043801153, + 1.0313790127184039e-29 ], [ - -0.00025468769038466233, - -0.0002482874721993978, - -0.00022970881918716953, - -0.00020352723357102716, - -0.0001826834881022567 + -0.0002546830904738895, + -0.0002482834858238037, + -0.00022970648308007864, + -0.00020352686864885834, + -0.00018268420575956896 ], [ - -0.0002626049278499214, - -0.00025977998017220894, - -0.00024814221133557976, - -0.00023376411978352077, - -0.00022697336267452442 + -0.00026260052021642185, + -0.00025977603234850937, + -0.0002481397380647309, + -0.0002337634294784395, + -0.00022697371294696725 ] ] } @@ -1505,34 +1456,7 @@ } } } - }, - "text/html": [ - "
" - ] + } }, "metadata": {}, "output_type": "display_data" @@ -1644,39 +1568,39 @@ ], "z": [ [ - 3.7078876177014553, - 3.7078763478472188, - 3.707853323934633, - 3.7078260164047094, - 3.707808564119712 + 3.7080242488013124, + 3.708012980167902, + 3.7079899587671075, + 3.707962653872268, + 3.7079452026255506 ], [ - 3.7078651244026894, - 3.7078535908947208, - 3.7078220221902427, - 3.7077785523089566, - 3.7077445721396733 + 3.7080017566721923, + 3.7079902242011094, + 3.7079586581556887, + 3.707915191282287, + 3.7078812123884246 ], [ - 3.7078229486184475, - 3.707804218479802, - 3.7077454950451716, - 3.7076369622920593, - 3.7074529354653967 + 3.7079595825355014, + 3.7079408535029024, + 3.7078821330256533, + 3.7077736038127984, + 3.7075895787025472 ], [ - 3.7077939368814126, - 3.707773778768286, - 3.7077102612800763, - 3.7075952142136557, - 3.707407186787348 + 3.707930571743512, + 3.707910414663849, + 3.7078468999564493, + 3.707731856210595, + 3.7075438305495547 ], [ - 3.7077846062570954, - 3.70776995420107, - 3.707720253036007, - 3.707647593021552, - 3.707589085925729 + 3.707921241493712, + 3.7079065902163797, + 3.7078568915338876, + 3.707784234516676, + 3.707725729161621 ] ] } @@ -2514,34 +2438,7 @@ } } } - }, - "text/html": [ - "
" - ] + } }, "metadata": {}, "output_type": "display_data" @@ -2592,7 +2489,7 @@ { "data": { "image/svg+xml": [ - "510152025300.00050.00060.00070.00080.00090.001ConvergenceIterationCost" + "510152025300.00050.0010.00150.0020.0025ConvergenceIterationCost" ] }, "metadata": {}, @@ -2601,7 +2498,7 @@ { "data": { "image/svg+xml": [ - "0501001500.450.50.550.60.650.70.750.80.850.90501001500.50.520.540.560.580.60.620.640.660.68Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "501001500.50.550.60.650.70.75501001500.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -2637,7 +2534,7 @@ { "data": { "image/svg+xml": [ - "0.50.60.70.80.90.50.550.60.650.70.750.80.040.080.120.160.20.24Cost LandscapeNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.60.70.80.90.50.550.60.650.70.750.80.020.040.060.080.10.120.140.16Cost LandscapeNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, From b15e5367402d649841d39652065985e942ced87c Mon Sep 17 00:00:00 2001 From: Brady Planden Date: Tue, 9 Jul 2024 14:51:27 +0100 Subject: [PATCH 6/7] updt exclusions, change contributing link --- .github/workflows/lychee_links.yaml | 3 ++- CONTRIBUTING.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lychee_links.yaml b/.github/workflows/lychee_links.yaml index ae335ac4..9e1a762e 100644 --- a/.github/workflows/lychee_links.yaml +++ b/.github/workflows/lychee_links.yaml @@ -38,11 +38,12 @@ jobs: --accept 200,429 --exclude "https://tiles.stadiamaps.com/*|https://b.tile.openstreetmap.org/*" --exclude "https://cartodb-basemaps-c.global.ssl.fastly.net/*" - --exclude "https://events.mapbox.com/*|https://api.mapbox.cn/*" + --exclude "https://events.mapbox.com/*|https://events.mapbox.cn/*|https://api.mapbox.cn/*" --exclude "https://github.com/mikolalysenko/glsl-read-float/*" --exclude "https://fonts.openmaptiles.org/*" --exclude "https://a.tile.openstreetmap.org/*" --exclude "https://cdn.plot.ly/*" + --exclude "https://doi.org/*" --exclude-path ./CHANGELOG.md --exclude-path asv.conf.json --exclude-path docs/conf.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5ecce13a..110debbb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -62,7 +62,7 @@ You now have everything you need to start making changes! ### B. Writing your code -6. PyBOP is developed in [Python](https://en.wikipedia.org/wiki/Python_(programming_language)), and makes heavy use of [NumPy](https://en.wikipedia.org/wiki/NumPy) (see also [NumPy for MatLab users](https://numpy.org/doc/stable/user/numpy-for-matlab-users.html) and [Python for R users](https://www.hackerearth.com/blog/developers/how-can-r-users-start-learning-python-for-data-science/)). +6. PyBOP is developed in [Python](https://en.wikipedia.org/wiki/Python_(programming_language)), and makes heavy use of [NumPy](https://en.wikipedia.org/wiki/NumPy) (see also [NumPy for MatLab users](https://numpy.org/doc/stable/user/numpy-for-matlab-users.html) and [Python for R users](https://rebeccabarter.com/blog/2023-09-11-from_r_to_python)). 7. Make sure to follow our [coding style guidelines](#coding-style-guidelines). 8. Commit your changes to your branch with [useful, descriptive commit messages](https://chris.beams.io/posts/git-commit/): Remember these are publicly visible and should still make sense a few months ahead in time. While developing, you can keep using the GitHub issue you're working on as a place for discussion. [Refer to your commits](https://stackoverflow.com/questions/8910271/how-can-i-reference-a-commit-in-an-issue-comment-on-github) when discussing specific lines of code. 9. If you want to add a dependency on another library, or re-use code you found somewhere else, have a look at [these guidelines](#dependencies-and-reusing-code). From c5ad86e51d563326bf469e2df156e2c45fc322fb Mon Sep 17 00:00:00 2001 From: Brady Planden Date: Tue, 9 Jul 2024 15:47:24 +0100 Subject: [PATCH 7/7] updt job name --- .github/workflows/lychee_links.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lychee_links.yaml b/.github/workflows/lychee_links.yaml index 9e1a762e..a5d181f9 100644 --- a/.github/workflows/lychee_links.yaml +++ b/.github/workflows/lychee_links.yaml @@ -11,7 +11,7 @@ on: - cron: '0 6 * * 0' # Run weekly on Sundays at 06:00 UTC jobs: - linkChecker: + Lychee: runs-on: ubuntu-latest steps: - name: Checkout repository