Skip to content

Release 0.5.0#34

Open
dbrakenhoff wants to merge 21 commits into
mainfrom
dev
Open

Release 0.5.0#34
dbrakenhoff wants to merge 21 commits into
mainfrom
dev

Conversation

@dbrakenhoff

Copy link
Copy Markdown
Member

Improvements:

  • Enable user defined max factors
  • Account for inaccuracies in maptest
  • Ensure positive semidefinite covariance matrix

Housekeeping

  • Update of dependencies (newest Python, numpy, etc.)
  • Improve formatting/testing
  • pin pandas < 3.0
  • move examples to docs folder

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 maxfactors flow 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.

Comment thread tests/test_import.py Outdated
Comment thread pyproject.toml
Comment thread metran/metran.py
Comment thread metran/kalmanfilter.py Outdated
Comment thread metran/factoranalysis.py Outdated
Comment thread metran/kalmanfilter.py
Comment thread metran/kalmanfilter.py
Comment thread pyproject.toml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants