Releases: diffpy/diffpy.stretched-nmf
Releases · diffpy/diffpy.stretched-nmf
0.2.0
Added:
- Coverage report in each PR
- Implement tests for
compute_objective_function() - Add spelling check pre-commit via Codespell
- Added XRD example using real data
- SNMFOptimizer.converged_ attribute to indicate whether the optimization
successfully reached the convergence tolerance (True) or stopped because the
maximum number of iterations was reached (False). - L-BFGS-B method in scipy for weight optimization in def get_weights
- Support for Python 3.13
- 'SNMFOptimizer.objective_log' attr: dictionary list to track the optimization
process, recording the step, iteration, objective, and timestamp at each update.
Uses the 'step', 'iteration', 'objective' and 'timestamp' keys. - 'SNMFOptimizer(verbose : Optional[bool])' option and SNMFOptimizer.verbose
attribute to allow users to toggle diagnostic console output. - Add docformatter config block to the end of the pyproject.toml file.
Changed:
- Refactor
get_objective_function()into a static method and getter - Move project/package naming and related references to the new
diffpy.stretched-nmfname. - Update to scikit-package 0.3
- Modified all print messages for improved readability and tied them to the new
verbose flag. - Refactored convergence checks and step-size calculations to pull objective
values directly from objective_log instead of relying on a separate history
array.
Fixed:
- Add getting started section and re-arrange install success check instructions
- Support
scikit-packageLevel 5 standard (https://scikit-package.github.io/scikit-package/). - Remove extraneous files
- Register
pytest.mark.slowin pytest config to avoid unknown-marker warnings. - Add entry point to the application
- Fix CLI bug due to typo
- Reformat README for PyPi compatibility
- Consistently label variables as private or fit-derived
- Absolute tolerance for updated weighted matrix from 0.5 to 1e-05 in test_subroutines.py
- Include GitHub Issues templates for bug report and feature request
- Conform variable names to PEP-8
Removed:
- Old tests and source files from prior, pre-release development.
- cvxpy dependency for linear weight optimization in def get_weights
- Support for Python 3.10
- Removed the 'SNMFOptimizer._objective_history' list, which was made redundant
by the comprehensive 'SNMFOptimizer.objective_log' tracking system.
otes
0.2.0-rc.2
What's Changed
- Add getting started section and re-arrange install success check instructions by @bobleesj in #113
- Add bug report and feature request GitHub Issues template by @bobleesj in #114
- Add entry point to the CLI app by @bobleesj in #119
- Configure automatic spelling check via codespell within pre-commit by @bobleesj in #121
- Remove cvxpy for weight minimization, fix test values and refactor tests codes by @bobleesj in #120
- Add codecov secret to test on PR GitHub CI workflow - expect to see coverage info by @bobleesj in #133
- Recut - codecov in PR, Codespell, release checklist by @bobleesj in #136
- Add conda-forge release checklist to GitHub Issue template by @bobleesj in #137
- chore: shortened file names by @TingwenZhang in #149
- Migration into main by @sbillinge in #154
- ci: add docformatter config to pyproject.toml and apply them to the files by @zmx27 in #156
- refactor: merge john-development to main by @john-halloran in #187
- fix: properly update to scikit-package 0.3 by @john-halloran in #188
- Added convergence flag to fit() by @Andrea-gm in #189
- docs: clean up and add a real data XRD example by @john-halloran in #191
- fix: remove extraneous files and fix CI by @john-halloran in #192
- fix: list release branch in workflow by @john-halloran in #193
- Console messaging optimization and addition of SNMFOptimizer.objective_log by @Andrea-gm in #195
- fix: correct issue with README indenting by @john-halloran in #196
New Contributors
- @TingwenZhang made their first contribution in #149
- @Andrea-gm made their first contribution in #189
Full Changelog: 0.1.3...0.2.0-rc.2
0.2.0-rc.1
What's Changed
- Add getting started section and re-arrange install success check instructions by @bobleesj in #113
- Add bug report and feature request GitHub Issues template by @bobleesj in #114
- Add entry point to the CLI app by @bobleesj in #119
- Configure automatic spelling check via codespell within pre-commit by @bobleesj in #121
- Remove cvxpy for weight minimization, fix test values and refactor tests codes by @bobleesj in #120
- Add codecov secret to test on PR GitHub CI workflow - expect to see coverage info by @bobleesj in #133
- Recut - codecov in PR, Codespell, release checklist by @bobleesj in #136
- Add conda-forge release checklist to GitHub Issue template by @bobleesj in #137
- chore: shortened file names by @TingwenZhang in #149
- Migration into main by @sbillinge in #154
- ci: add docformatter config to pyproject.toml and apply them to the files by @zmx27 in #156
- refactor: merge john-development to main by @john-halloran in #187
- fix: properly update to scikit-package 0.3 by @john-halloran in #188
- Added convergence flag to fit() by @Andrea-gm in #189
- docs: clean up and add a real data XRD example by @john-halloran in #191
- fix: remove extraneous files and fix CI by @john-halloran in #192
- fix: list release branch in workflow by @john-halloran in #193
New Contributors
- @TingwenZhang made their first contribution in #149
- @Andrea-gm made their first contribution in #189
Full Changelog: 0.1.3...0.2.0-rc.1
What's Changed
- Add getting started section and re-arrange install success check instructions by @bobleesj in #113
- Add bug report and feature request GitHub Issues template by @bobleesj in #114
- Add entry point to the CLI app by @bobleesj in #119
- Configure automatic spelling check via codespell within pre-commit by @bobleesj in #121
- Remove cvxpy for weight minimization, fix test values and refactor tests codes by @bobleesj in #120
- Add codecov secret to test on PR GitHub CI workflow - expect to see coverage info by @bobleesj in #133
- Recut - codecov in PR, Codespell, release checklist by @bobleesj in #136
- Add conda-forge release checklist to GitHub Issue template by @bobleesj in #137
- chore: shortened file names by @TingwenZhang in #149
- Migration into main by @sbillinge in #154
- ci: add docformatter config to pyproject.toml and apply them to the files by @zmx27 in #156
- refactor: merge john-development to main by @john-halloran in #187
- fix: properly update to scikit-package 0.3 by @john-halloran in #188
- Added convergence flag to fit() by @Andrea-gm in #189
- docs: clean up and add a real data XRD example by @john-halloran in #191
- fix: remove extraneous files and fix CI by @john-halloran in #192
- fix: list release branch in workflow by @john-halloran in #193
New Contributors
- @TingwenZhang made their first contribution in #149
- @Andrea-gm made their first contribution in #189
Full Changelog: 0.1.3...0.2.0-rc.1
0.1.3
Fixed:
- Updated REAMDE instructions for pip and conda-forge install
- Updated REAMDE instructions to check for successful installation
0.1.3rc0
What's Changed
Full Changelog: 0.1.2...0.1.3rc0
0.1.2
Added:
- Use GitHub Actions to build, release, upload to PyPI
- Added issue template for PyPI/GitHub release
Changed:
- Added tag check for release
- citation from arXiv to npj Comput Mater in docs
Fixed:
- Python version from 3.9 to 3.12 in CI news item
- tests folder at the root of the repo
- re-cookiecuter repo to groupd's package standard
- Add pip dependencies under pip.txt and conda dependencies under conda.txt