Skip to content

Refactor fit modes and sequential analysis workflow#175

Merged
AndrewSazonov merged 52 commits into
developfrom
fit-mode-categories
May 17, 2026
Merged

Refactor fit modes and sequential analysis workflow#175
AndrewSazonov merged 52 commits into
developfrom
fit-mode-categories

Conversation

@AndrewSazonov
Copy link
Copy Markdown
Member

  • Reworks the fitting API around analysis.fitting, analysis.fitting_mode_type, and the mode-specific joint_fit, sequential_fit, and sequential_fit_extract categories.
  • Makes analysis.fit() the execution entry point for single, joint, and sequential fitting, with CIF serialization/load support for the new model.
  • Adds persisted sequential-fit settings, CSV result replay/resume support, and diffrn.* extraction handling.
  • Updates CLI behavior, tutorials, docs, package-structure docs, and test coverage for the new fitting surfaces.
  • Includes follow-up improvements to sequential progress rendering, fit-series plotting, ASCII output, and related analysis/reporting helpers.

@AndrewSazonov AndrewSazonov added the [scope] enhancement Adds/improves features (major.MINOR.patch) label May 17, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 17, 2026

Codecov Report

❌ Patch coverage is 79.62771% with 197 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.01%. Comparing base (1a94b59) to head (2a618b0).
⚠️ Report is 1 commits behind head on develop.

Files with missing lines Patch % Lines
src/easydiffraction/io/cif/serialize.py 55.33% 33 Missing and 13 partials ⚠️
src/easydiffraction/display/plotting.py 40.00% 38 Missing and 7 partials ⚠️
src/easydiffraction/analysis/analysis.py 77.77% 24 Missing and 12 partials ⚠️
src/easydiffraction/analysis/sequential.py 86.60% 15 Missing and 15 partials ⚠️
src/easydiffraction/display/plotters/ascii.py 72.22% 5 Missing and 5 partials ⚠️
src/easydiffraction/project/project.py 71.42% 6 Missing and 4 partials ⚠️
src/easydiffraction/core/guard.py 63.63% 7 Missing and 1 partial ⚠️
src/easydiffraction/display/progress.py 73.68% 3 Missing and 2 partials ⚠️
...lysis/categories/sequential_fit_extract/default.py 95.94% 3 Missing ⚠️
src/easydiffraction/core/variable.py 81.81% 1 Missing and 1 partial ⚠️
... and 2 more
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #175      +/-   ##
===========================================
- Coverage    86.43%   86.01%   -0.42%     
===========================================
  Files          159      168       +9     
  Lines        12549    13231     +682     
  Branches      1463     1557      +94     
===========================================
+ Hits         10847    11381     +534     
- Misses        1177     1275      +98     
- Partials       525      575      +50     
Flag Coverage Δ
integration 70.00% <68.04%> (-0.34%) ⬇️
unittests 78.34% <70.52%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/easydiffraction/__main__.py 83.78% <100.00%> (+0.45%) ⬆️
src/easydiffraction/analysis/__init__.py 100.00% <100.00%> (ø)
...rc/easydiffraction/analysis/categories/__init__.py 100.00% <100.00%> (ø)
...iffraction/analysis/categories/fitting/__init__.py 100.00% <100.00%> (ø)
...diffraction/analysis/categories/fitting/default.py 100.00% <100.00%> (ø)
...diffraction/analysis/categories/fitting/factory.py 100.00% <100.00%> (ø)
...fraction/analysis/categories/joint_fit/__init__.py 100.00% <100.00%> (ø)
...ffraction/analysis/categories/joint_fit/default.py 100.00% <100.00%> (ø)
...ffraction/analysis/categories/joint_fit/factory.py 100.00% <100.00%> (ø)
...ion/analysis/categories/sequential_fit/__init__.py 100.00% <100.00%> (ø)
... and 23 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@AndrewSazonov AndrewSazonov merged commit 6a4887e into develop May 17, 2026
21 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[scope] enhancement Adds/improves features (major.MINOR.patch)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant