Skip to content

Releases: diffpy/diffpy.stretched-nmf

0.2.0

30 Mar 13:38

Choose a tag to compare

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-nmf name.
  • 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-package Level 5 standard (https://scikit-package.github.io/scikit-package/).
  • Remove extraneous files
  • Register pytest.mark.slow in 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

25 Mar 09:16
3a56590

Choose a tag to compare

0.2.0-rc.2 Pre-release
Pre-release

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

Full Changelog: 0.1.3...0.2.0-rc.2

0.2.0-rc.1

12 Mar 22:15
8dfb08d

Choose a tag to compare

0.2.0-rc.1 Pre-release
Pre-release

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

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

Full Changelog: 0.1.3...0.2.0-rc.1

0.1.3

21 Oct 20:07
6ecd53a

Choose a tag to compare

Fixed:

  • Updated REAMDE instructions for pip and conda-forge install
  • Updated REAMDE instructions to check for successful installation

0.1.3rc0

21 Oct 19:49
9dbd1c3

Choose a tag to compare

0.1.3rc0 Pre-release
Pre-release

What's Changed

  • Update instructions in reamde for conda/pip install by @bobleesj in #110

Full Changelog: 0.1.2...0.1.3rc0

0.1.2

21 Oct 19:24
e5555c0

Choose a tag to compare

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

0.1.0

13 Aug 19:15

Choose a tag to compare

Added:

  • Initial release of diffpy.snmf

Changed:

  • Support Python version 3.12
  • Remove support for Python version 3.9

Fixed:

  • Repo structure modified to the new diffpy standard
  • Code linting based on .pre-commit-config.yaml