v0.7.0
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