Skip to content

v0.7.0

Compare
Choose a tag to compare
@s-weigand s-weigand released this 27 Mar 21:14
· 101 commits to main since this release
9adf4a4

pyglotaran 0.7.0 Release Notes

Code name: "Theofelix"

This version was used to generate the results for the paper "pyglotaran: a lego-like Python framework for global and target analysis of time resolved spectra" introducing pyglotaran to the broader scientific community.

💥 BREAKING CHANGE

  • 💥🚧 Dropped support for Python 3.8 and 3.9 and only support 3.10 (#1135)

✨ Features

  • ✨ Add optimization history to result and iteration column to parameter history (#1134)
  • ♻️ Complete refactor of model and parameter packages using attrs (#1135)
  • ♻️ Move index dependent calculation to megacomplexes for speed-up (#1175)
  • ✨ Add PreProcessingPipeline (#1256, #1263)

👌 Minor Improvements:

  • 👌🎨 Wrap model section in result markdown in details tag for notebooks (#1098)
  • 👌 Allow more natural column names in pandas parameters file reading (#1174)
  • ✨ Integrate plugin system into Project (#1229)
  • 👌 Make yaml the default plugin when passing a folder to save_result and load_result (#1230)
  • ✨ Allow usage of subfolders in project API for parameters, models and data (#1232)
  • ✨ Allow import of xarray objects in project API import_data (#1235)
  • 🩹 Add number_of_clps to result and correct degrees_of_freedom calculation (#1249)
  • 👌 Improve Project API data handling (#1257)
  • 🗑️ Deprecate Result.number_of_parameters in favor of Result.number_of_free_parameters (#1262)

🩹 Bug fixes

  • 🩹 Fix result data overwritten when using multiple dataset_groups (#1147)
  • 🩹 Fix for normalization issue described in #1157 (multi-gaussian irfs and multiple time ranges (streak))
  • 🩹 Fix for crash described in #1183 when doing an optimization using more than 30 datasets (#1184)
  • 🩹 Fix pretty_format_numerical for negative values (#1192)
  • 🩹 Fix yaml result saving with relative paths (#1199)
  • 🩹 Fix model markdown render for items without label (#1213)
  • 🩹 Fix wrong file loading due to partial filename matching in Project (#1212)
  • 🩹 Fix Project.import_data path resolving for different script and cwd (#1214)
  • 👌 Refine project API (#1240)
  • 🩹📚 Fix search in docs (#1268)

📚 Documentation

  • 📚 Update quickstart guide to use Project API (#1241)

🗑️ Deprecations (due in 0.8.0)

  • <model_file>.clp_area_penalties -> <model_file>.clp_penalties
  • glotaran.ParameterGroup -> glotaran.Parameters
  • Command Line Interface (removed without replacement) (#1228)
  • Project.generate_model (removed without replacement)
  • Project.generate_parameters (removed without replacement)
  • glotaran.project.Result.number_of_data_points -> glotaran.project.Result.number_of_residuals
  • glotaran.project.Result.number_of_parameters -> glotaran.project.Result.number_of_free_parameters

🗑️❌ Deprecated functionality removed in this release

  • glotaran.project.Scheme(..., non_negative_least_squares=...)
  • glotaran.project.Scheme(..., group=...)
  • glotaran.project.Scheme(..., group_tolerance=...)
  • <model_file>.non-negative-least-squares: true
  • <model_file>.non-negative-least-squares: false
  • glotaran.parameter.ParameterGroup.to_csv(file_name=parameters.csv)

🚧 Maintenance

  • 🚇🩹 Fix wrong comparison in pr_benchmark workflow (#1097)
  • 🔧 Set sourcery-ai target python version to 3.8 (#1095)
  • 🚇🩹🔧 Fix manifest check (#1099)
  • ♻️ Refactor: optimization (#1060)
  • ♻️🚇 Use GITHUB_OUTPUT instead of set-output in github actions (#1166, #1177)
  • 🚧 Add pinned version of odfpy to requirements_dev.txt (#1164)
  • ♻️ Use validation action and validation as a git submodule (#1165)
  • 🧹 Upgrade syntax to py310 using pyupgrade (#1162)
  • 🧹 Remove unused 'type: ignore' (#1168)
  • 🚧 Raise minimum dependency version to releases that support py310 (#1170)
  • 🔧 Make mypy and doc string linters opt out instead of opt in (#1173)

New Contributors

Full Changelog: v0.6.0...v0.7.0