From 7f9b373694ebc29c585a28056a78896bc6a2a929 Mon Sep 17 00:00:00 2001 From: Bean Labs <287763725+beanscg@users.noreply.github.com> Date: Mon, 8 Jun 2026 17:19:22 -0400 Subject: [PATCH 1/2] Add Markdown link checking Co-authored-by: OpenAI Codex <287763725+beanscg@users.noreply.github.com> --- .github/pull_request_template.md | 3 ++- .pre-commit-config.yaml | 8 ++++++++ CHANGELOG.md | 3 +++ README.md | 2 +- lychee.toml | 8 ++++++++ 5 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 lychee.toml diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 191883665..720972aab 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -23,7 +23,8 @@ - [ ] I have performed a self-review of my code - [ ] For any new/modified functions/classes I have added docstrings that clearly describe its purpose, expected inputs and returned values - [ ] I have placed in-line comments to clarify the intent of any hard-to-understand passages of my code -- [ ] I have updated the [README](README.MD) to cover introduced code changes +- [ ] I have updated the [README](../README.md) to cover introduced code changes +- [ ] If this PR changes contributor workflow, I've updated CONTRIBUTING.md / AGENTS.md - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have given the PR a name that clearly describes the change, written in imperative form ([context](https://www.gitkraken.com/learn/git/best-practices/git-commit-message#using-imperative-verb-form)). - [ ] I have requested a reviewer and an assignee (assignee is responsible for merging). This applies only if you have write access to the repo, otherwise feel free to tag a maintainer to add a reviewer and assignee. diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index fe2ff11ae..90a232d55 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,6 +18,14 @@ repos: - id: codespell description: Check for spelling errors + - repo: https://github.com/lycheeverse/lychee + rev: lychee-v0.24.2 + hooks: + - id: lychee + description: Check Markdown links + args: ["--config", "lychee.toml"] + types: [markdown] + - repo: https://github.com/psf/black rev: 25.11.0 hooks: diff --git a/CHANGELOG.md b/CHANGELOG.md index dba2ba114..d86b00fde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -72,6 +72,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Maintenance +- Add a lychee pre-commit hook for Markdown links and a PR-template reminder + to keep contributor workflow docs current ([#654](https://github.com/mllam/neural-lam/issues/654)). + - Add a short README pointer to [\#163](https://github.com/mllam/neural-lam/issues/163) for DGX Spark / PyTorch container compatibility notes, so users hitting `torch_scatter` errors know where to find the known-working / known-failing combos [\#266](https://github.com/mllam/neural-lam/pull/266) @Jayant-kernel - Group the existing Neural-LAM citation papers in the README under a `### Core Neural-LAM Publications` subheading for clearer structure [\#633](https://github.com/mllam/neural-lam/pull/633) @HetaviM29 diff --git a/README.md b/README.md index e78b4e70b..67254f175 100644 --- a/README.md +++ b/README.md @@ -239,7 +239,7 @@ in neural-lam, are done in a separate package called [mllam-data-prep](https://github.com/mllam/mllam-data-prep) rather than in neural-lam itself. Specifically, the `mllam-data-prep` datastore configuration (for example -[danra.datastore.yaml](tests/datastore_examples/mdp/danra.datastore.yaml)) +[danra.datastore.yaml](tests/datastore_examples/mdp/danra_100m_winds/danra.datastore.yaml)) specifies a) what source datasets to read from, b) what variables to select, c) what transformations of dimensions and variables to make, d) what statistics to calculate (for normalisation) and e) how to split the data into training, diff --git a/lychee.toml b/lychee.toml new file mode 100644 index 000000000..2050f9b27 --- /dev/null +++ b/lychee.toml @@ -0,0 +1,8 @@ +include_fragments = "full" +timeout = 20 + +exclude = [ + "^https://join\\.slack\\.com/t/ml-lam/shared_invite/", + "^https://kutt\\.to/mllam$", + "^https://pyg\\.org/?$", +] From 69174526117592b58efbe3598acb87f31b7d3f88 Mon Sep 17 00:00:00 2001 From: sadamov Date: Tue, 14 Jul 2026 10:05:34 +0200 Subject: [PATCH 2/2] fixed merge issue in changelog --- CHANGELOG.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2102190a..18a333478 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,17 +78,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Maintenance -- Add a lychee pre-commit hook for Markdown links and a PR-template reminder to keep contributor workflow docs current ([#654](https://github.com/mllam/neural-lam/issues/654)). - -- Add comprehensive type hints to GraphLAM in `neural_lam/models/step_predictors/graph/graph_lam.py` [\#669](https://github.com/mllam/neural-lam/pull/669) @GiGiKoneti - -- Add comprehensive type hints to ARForecaster in `neural_lam/models/forecasters/autoregressive.py` [\#663](https://github.com/mllam/neural-lam/pull/663) @GiGiKoneti - -- Add comprehensive type hints to StepPredictor in `neural_lam/models/step_predictors/base.py` [\#665](https://github.com/mllam/neural-lam/pull/665) @GiGiKoneti - -- Add comprehensive type hints to BaseGraphModel in `neural_lam/models/step_predictors/graph/base.py` [\#667](https://github.com/mllam/neural-lam/pull/667) @GiGiKoneti - -- Establish 100% docstring coverage across `neural_lam/` via an `interrogate` pre-commit hook, add a Dimension Glossary to the README for canonical tensor-shape names, and rewrite public docstrings in NumPy style to serve as the entry point for the autoapi pipeline (#196 / #272). [\#252](https://github.com/mllam/neural-lam/pull/252) @Mohit-Lakra +- Add a lychee pre-commit hook for Markdown links and a PR-template reminder to keep contributor workflow docs current [#655](https://github.com/mllam/neural-lam/issues/655) @beanscg - Add comprehensive type hints to GraphLAM in `neural_lam/models/step_predictors/graph/graph_lam.py` [\#669](https://github.com/mllam/neural-lam/pull/669) @GiGiKoneti