Skip to content

Separate category-owning sections from real CIF datablocks#176

Merged
AndrewSazonov merged 15 commits into
developfrom
category-owner-sections
May 17, 2026
Merged

Separate category-owning sections from real CIF datablocks#176
AndrewSazonov merged 15 commits into
developfrom
category-owner-sections

Conversation

@AndrewSazonov
Copy link
Copy Markdown
Member

This change reorganizes how the library models the different pieces of a
project that own CIF-like categories. Crystal structures and experiments
stay "real" CIF data blocks — each one is saved with its own data_<id>
header, exactly as before. The Analysis section (fitting mode,
aliases, constraints, joint/sequential fit settings) and project-level
configuration are now treated as singleton sections that share the same
convenient features (category discovery, parameter listing, dirty
tracking, help() tables) without pretending to be data blocks. As a
result:

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

codecov Bot commented May 17, 2026

Codecov Report

❌ Patch coverage is 90.44118% with 26 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.94%. Comparing base (6a4887e) to head (df93079).

Files with missing lines Patch % Lines
...easydiffraction/project/categories/info/default.py 84.44% 12 Missing and 2 partials ⚠️
src/easydiffraction/io/cif/serialize.py 75.75% 3 Missing and 5 partials ⚠️
src/easydiffraction/core/variable.py 83.33% 0 Missing and 2 partials ⚠️
src/easydiffraction/core/category_owner.py 97.50% 0 Missing and 1 partial ⚠️
src/easydiffraction/project/project.py 93.33% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #176      +/-   ##
===========================================
- Coverage    86.01%   85.94%   -0.08%     
===========================================
  Files          168      173       +5     
  Lines        13231    13335     +104     
  Branches      1557     1564       +7     
===========================================
+ Hits         11381    11461      +80     
- Misses        1275     1295      +20     
- Partials       575      579       +4     
Flag Coverage Δ
integration 69.96% <84.55%> (-0.05%) ⬇️
unittests 78.38% <90.07%> (+0.03%) ⬆️

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

Files with missing lines Coverage Δ
src/easydiffraction/analysis/analysis.py 86.97% <100.00%> (+0.85%) ⬆️
src/easydiffraction/core/datablock.py 81.81% <100.00%> (-5.96%) ⬇️
...asydiffraction/project/categories/info/__init__.py 100.00% <100.00%> (ø)
...easydiffraction/project/categories/info/factory.py 100.00% <100.00%> (ø)
...iffraction/project/categories/rendering/default.py 88.88% <100.00%> (+0.82%) ⬆️
src/easydiffraction/project/project_config.py 100.00% <100.00%> (ø)
src/easydiffraction/project/project_info.py 100.00% <100.00%> (+11.66%) ⬆️
src/easydiffraction/core/category_owner.py 97.50% <97.50%> (ø)
src/easydiffraction/project/project.py 87.30% <93.33%> (-0.05%) ⬇️
src/easydiffraction/core/variable.py 90.53% <83.33%> (ø)
... and 2 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.

@AndrewSazonov AndrewSazonov merged commit aa44c46 into develop May 17, 2026
35 checks passed
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