Skip to content

Merge v3.3.0 into main - #201

Merged
sbillinge merged 234 commits into
diffpy:mainfrom
cadenmyers13:merge-v330-into-main
Aug 8, 2026
Merged

Merge v3.3.0 into main#201
sbillinge merged 234 commits into
diffpy:mainfrom
cadenmyers13:merge-v330-into-main

Conversation

@cadenmyers13

Copy link
Copy Markdown
Contributor

The big merge...

I verified this by locally installing diffpy.srfit with pip install . into a new env and ran the validator script we have in diffpy.cmi. Everything ran as expected. These scripts haven't been updated to the new API so this really tests that backwards compatibility works.

cadenmyers13 and others added 30 commits February 6, 2026 12:09
build:remove matrix merge into deprecation branch
deprecate: `addProfileGenerator` deprecation
deprecate: `addContribution` deprecation
deprecate: `pushFitHook`, `popFitHook`, `getFitHook`, `clearFitHook`, and `setWeight` in `FitRecipe`
deprecate: `addParameterSet` deprecation in `FitRecipe` and `ParameterSet`
cadenmyers13 and others added 27 commits March 16, 2026 21:07
deprecate: Deprecate function in `ProfileParser` and deprecate `PDFParser`
…mit file with main (diffpy#188)

* sync pre-commit file and pyproject.toml with main

* refactor pytest fixtures to remove use of triple quotes

* chore: news

* [pre-commit.ci] auto fixes from pre-commit hooks

* fix docformatter and black conflicts

* chore: news v2

* clean up ugly docstring formating

* empty commit

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix: fix Qmax update after load new parsed data

* chore: add news item

* chore: rename the private method

* build: add diffpy.structure back to requirement

* chore: rebuild the documentation with proper metadata handling

* chore: update pre-commit (diffpy#184)

* chore: update pre-commit

* [pre-commit.ci] auto fixes from pre-commit hooks

* chore: fix docformatter and black conflict

* chore: run pre-commit for file I missed

* [pre-commit.ci] auto fixes from pre-commit hooks

* chore: add #FIXME workaround

* chore: add #FIXME workaround

* [pre-commit.ci] auto fixes from pre-commit hooks

* chore: add another #FIXME workaround

* chore: add another #FIXME workaround

* [pre-commit.ci] auto fixes from pre-commit hooks

* chore: moved import statement to the top of import modules

* [pre-commit.ci] auto fixes from pre-commit hooks

* chore: added try except workaround

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* release: add support for python 3.14 and remove for 3.11 (diffpy#187)

* chore: news

* chore: remove duplicate FIXME line

* chore: fix improperly merged method in ProfileGenerator

---------

Co-authored-by: stevenhua0320 <r.hua@mail.utoronto.ca>
Co-authored-by: Simon Billinge <sbillinge@users.noreply.github.com>
Co-authored-by: Daniel Sirakov <danielsirakov73@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* skpkg: update project to latest scikit-package template

* Reorganize update message in changelog

Moved the update of the project template from 'Changed' to 'Fixed' section.

---------

Co-authored-by: Simon Billinge <sbillinge@users.noreply.github.com>
* fix: return None instead of 0 for unavailable dx/dy uncertainties

* test: update and add tests for None uncertainty behavior

* chore: add news entry for uncertainty None fix

* test: add tests to ensure new handling of uncertainties doesn't break refinements

* change: update profile.set_observed_profile() to not convert dy to ones if dy is None

* chore: update news file

* Update tests to make it easier to not use a testdata file for interpretability

* add as_list as a fixture

* add comment about how the fixture is used in test

* add three_column case

* use as_list as a fixture
…m `diffpy.utils` (diffpy#196)

* Update examples to use the correct parser and add description of how to create your own parser in docs

* update old metadata format to new xPDFsuite and pdfgetx headers. One testdata file for each

* add test for new parser behavior

* change how ProfileParsers work by allowing user to create their own parsers for metadata and the data itself

* update the pre-existing news file with these changes

* Make PDFParser identical to ProfileParser now that ProfileParser defaults to load_data

* update old data metadata formats in testdata files to mirror xPDFsuite (neutron data) and pdfgetx (xray data)

* updated expected metadata in test

* fix docs description of ProfileParser

* update news

* minor docstring fix

* tests for adding metadata upon parsing a file with ProfileParser

* feat: allow user to append metadata when parsing a file with profileparser
diffpy#198)

* Update docstrings in fitbase to numpy/group standards

* update docstrings in pdf to np/group standards

* update docstrings in interface and structure to group standards

* news

* use recipe.plot_recipe() to plot fits in examples

* remove plot_results in favor of recipe.plot_recipe() method

* Change plot_recipe to display the contribution name as the title

* add tests for the new plot_recipe behavior

* rm accidentally commited output file

* tidy a test up

* empty commit for CI
…#197)

* Deprecate characteristic function camel case names

* Change cf names in example scripts

* add tests for characteristic functions

* news

* deprecate constrainAsSpaceGroup

* update news

* change: emit a warning if a characteristic function goes to a negative value during refinement. The output goes to zero

* Add tests for new CF behavior for non-physical input parameters

* cf news

* empty commit for CI
… signature changes (diffpy#199)

* revert parameters in old function signatures to prevent errors when the name is specified in the signature

* Change how the deprecated characteristic functions handle the signature change

* Add test cases for the deprecated functions signature changes

* news
@cadenmyers13

Copy link
Copy Markdown
Contributor Author

@sbillinge ready for review

@codecov

codecov Bot commented Aug 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.79518% with 14 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.34%. Comparing base (a9eae82) to head (516dfe0).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
tests/test_objcrystparset.py 0.00% 8 Missing ⚠️
tests/test_characteristicfunctions.py 96.66% 3 Missing ⚠️
tests/test_pdf.py 96.42% 3 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main     #201       +/-   ##
===========================================
+ Coverage   71.63%   82.34%   +10.70%     
===========================================
  Files          25       25               
  Lines        3437     4094      +657     
===========================================
+ Hits         2462     3371      +909     
+ Misses        975      723      -252     
Files with missing lines Coverage Δ
tests/conftest.py 91.19% <100.00%> (+2.78%) ⬆️
tests/test_builder.py 100.00% <100.00%> (ø)
tests/test_constraint.py 98.30% <100.00%> (+1.33%) ⬆️
tests/test_contribution.py 99.58% <100.00%> (+0.07%) ⬆️
tests/test_diffpyparset.py 98.79% <100.00%> (ø)
tests/test_equation.py 100.00% <100.00%> (ø)
tests/test_fitrecipe.py 99.86% <100.00%> (+0.09%) ⬆️
tests/test_fitresults.py 99.35% <100.00%> (+0.94%) ⬆️
tests/test_literals.py 99.17% <100.00%> (ø)
tests/test_parameter.py 98.86% <100.00%> (+0.71%) ⬆️
... and 13 more

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sbillinge
sbillinge merged commit af68549 into diffpy:main Aug 8, 2026
7 checks passed
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.

4 participants