Skip to content

Restructure datablocks, unify factory system, and standardize switchable-category API#128

Merged
AndrewSazonov merged 105 commits intodevelopfrom
refactor-value-spec
Mar 25, 2026
Merged

Restructure datablocks, unify factory system, and standardize switchable-category API#128
AndrewSazonov merged 105 commits intodevelopfrom
refactor-value-spec

Conversation

@AndrewSazonov
Copy link
Member

This PR reworks the core EasyDiffraction architecture to use datablocks as the primary model structure and standardize factory-driven categories across experiments, structures, and analysis. This updates the public API around switchable category types, moves calculator selection to the experiment level, removes legacy module layout, and refreshes the architecture docs, tutorials, and test suite to match the new design.

@AndrewSazonov AndrewSazonov added the [scope] maintenance Code/tooling cleanup, no feature or bugfix (major.minor.PATCH) label Mar 25, 2026
@codecov
Copy link

codecov bot commented Mar 25, 2026

Codecov Report

❌ Patch coverage is 84.36782% with 340 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.84%. Comparing base (6a52ea9) to head (e7cfe2b).

Files with missing lines Patch % Lines
...easydiffraction/datablocks/experiment/item/base.py 56.63% 127 Missing and 7 partials ⚠️
.../easydiffraction/datablocks/structure/item/base.py 60.90% 43 Missing ⚠️
src/easydiffraction/analysis/analysis.py 72.72% 31 Missing and 8 partials ⚠️
...diffraction/datablocks/experiment/item/bragg_pd.py 76.08% 20 Missing and 2 partials ⚠️
src/easydiffraction/project/project.py 50.00% 8 Missing and 1 partial ⚠️
src/easydiffraction/core/factory.py 88.23% 5 Missing and 3 partials ⚠️
...rc/easydiffraction/analysis/calculators/crysfml.py 60.00% 6 Missing ⚠️
...atablocks/experiment/categories/peak/cwl_mixins.py 93.33% 6 Missing ⚠️
...atablocks/experiment/categories/peak/tof_mixins.py 92.50% 6 Missing ⚠️
...asydiffraction/datablocks/experiment/collection.py 80.00% 6 Missing ⚠️
... and 18 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #128      +/-   ##
===========================================
- Coverage    84.28%   83.84%   -0.44%     
===========================================
  Files           91      124      +33     
  Lines         5911     6544     +633     
  Branches       496      527      +31     
===========================================
+ Hits          4982     5487     +505     
- Misses         746      869     +123     
- Partials       183      188       +5     
Flag Coverage Δ
integration 70.23% <74.62%> (+0.10%) ⬆️
unittests 72.96% <74.52%> (+1.18%) ⬆️

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

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

@AndrewSazonov AndrewSazonov merged commit 25e84b7 into develop Mar 25, 2026
2 checks passed
@AndrewSazonov AndrewSazonov deleted the refactor-value-spec branch March 26, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[scope] maintenance Code/tooling cleanup, no feature or bugfix (major.minor.PATCH)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant