Release 0.5.0#34
Open
dbrakenhoff wants to merge 21 commits into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
Release-prep for 0.5.0, focusing on factor-selection controls, numerical robustness in Kalman filtering, and project/tooling housekeeping (docs/examples, CI, linting).
Changes:
- Add user-controlled
maxfactorsflow into factor analysis / solve. - Improve numerical stability by enforcing (near) PSD covariance matrices during Kalman updates.
- Modernize tooling/docs: migrate examples into
docs/, switch to Ruff, update Python/deps and CI workflows.
Reviewed changes
Copilot reviewed 26 out of 41 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
tests/test_plots.py |
Adds Ruff ignores for docstring rules in tests. |
tests/test_notebooks.py |
Reworks notebook execution test to use nbconvert’s ExecutePreprocessor and targets docs/examples/. |
tests/test_metran.py |
Adds Ruff ignores for docstring rules in tests. |
tests/test_import.py |
Changes import test (currently to a no-op). |
tests/test_factoranalysis.py |
Adds Ruff ignores for docstring rules in tests. |
tests/conftest.py |
Points fixtures to example data under docs/examples/data and updates docstring punctuation. |
pyproject.toml |
Updates runtime requirements (Python >= 3.11, pandas < 3), switches lint/format/test tooling to Ruff, updates tox env list. |
metran/version.py |
Bumps version to 0.5.0.dev0 and adds module docstring. |
metran/utils.py |
Adds module docstring and lifts dependency version imports to module scope. |
metran/solver.py |
Docstring cleanups, np.nan normalization, and improves ImportError chaining. |
metran/plots.py |
Uses proper semantic version comparisons for Pastas plot util imports. |
metran/metran.py |
Adds maxfactors plumbing into factor analysis and enables numba usage via Pastas. |
metran/kalmanfilter.py |
Adds PSD checks/corrections for covariance matrices and toggles Pastas numba usage by engine. |
metran/factoranalysis.py |
Documents and partially validates maxfactors, refines MAP-test tolerance logic, and tightens exception handling. |
metran/__init__.py |
Adds package docstring and makes re-exports explicit. |
examples/example_script.py |
Adds module docstring and updates CSV date format parsing. |
docs/index.rst |
Updates Examples link to examples/index. |
docs/examples/index.rst |
Rebuilds examples toctree to reference notebooks directly. |
docs/examples/dynamic_factor_model.ipynb |
Adds notebook into docs examples set. |
docs/examples/metran_practical_example.ipynb |
Adds notebook into docs examples set. |
docs/examples/pastas_metran_example.ipynb |
Adds notebook into docs examples set. |
docs/examples/ex01_metran_practical_example.nblink |
Removes old nbsphinx_link-based notebook link. |
docs/examples/ex02_pastas_metran_example.nblink |
Removes old nbsphinx_link-based notebook link. |
docs/examples/data/B21B0214001_res.csv |
Adds residual example dataset for docs/tests. |
docs/examples/data/B21B0214002_res.csv |
Adds residual example dataset for docs/tests. |
docs/examples/data/B21B0214003_res.csv |
Adds residual example dataset for docs/tests. |
docs/examples/data/B21B0214004_res.csv |
Adds residual example dataset for docs/tests. |
docs/examples/data/B21B0214005_res.csv |
Adds residual example dataset for docs/tests. |
docs/examples/data/B21B0214002_1.csv |
Adds raw Dino example dataset for docs. |
docs/examples/data/B21B0214003_1.csv |
Adds raw Dino example dataset for docs. |
docs/examples/data/B21B0214004_1.csv |
Adds raw Dino example dataset for docs. |
docs/examples/data/B21B0214005_1.csv |
Adds raw Dino example dataset for docs. |
docs/conf.py |
Switches Sphinx notebook handling from nbsphinx/nbsphinx_link to myst_nb. |
.github/workflows/ci.yml |
Adds dedicated Ruff lint job, updates Python matrix, and updates action versions. |
.github/workflows/ci_notebooks.yml |
Updates action versions for notebook CI workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
wlberendrecht
approved these changes
Apr 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Improvements:
Housekeeping