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

codecov Bot commented May 17, 2026

Copy link
Copy Markdown

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
@AndrewSazonov AndrewSazonov deleted the fit-mode-categories branch June 1, 2026 19:23
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