Skip to content

Updated docs - #398

Merged
rozyczko merged 2 commits into
improved_constraintsfrom
updated_docs
Aug 31, 2026
Merged

Updated docs#398
rozyczko merged 2 commits into
improved_constraintsfrom
updated_docs

Conversation

@rozyczko

Copy link
Copy Markdown
Member

This pull request migrates the documentation system from Sphinx to MkDocs (Material), updates the documentation structure, and adds new tutorials and API reference pages. It also introduces new features for parameter constraints and improves the handling and documentation of conformal thickness/roughness in multilayers. The Sphinx documentation workflow and files are removed, and the documentation build process is now handled by MkDocs.

Documentation system migration and workflow changes:

  • Switched the documentation build system from Sphinx to MkDocs (Material), updating .github/copilot-instructions.md to require NumPy-style docstrings and MkDocs configuration, and removing all Sphinx-specific files and the documentation-build.yml workflow. Documentation is now built and deployed via docs.yml from docs/mkdocs.yml, with all pages listed in the navigation.

Documentation structure and content improvements:

  • Added new tutorials to the documentation navigation, including "Constraints & Inequalities" and "Bayesian Fitting", and improved advanced fitting examples.
  • Expanded API reference documentation with new pages for constraints, inequality constraints, Bayesian analysis, calculators, parameter limits, LayerMagnetism, ORSO, summary, and plotting.

New features and enhancements for parameter constraints:

  • Introduced clamp_sum_partners and restore_sum_partners to prevent negative remainder in constrain_to_sum constraints, with persisted maxima across save/load, and is_constrained_to_sum to check constraint status.
  • Added easyreflectometry.UnitError for unit problems in inequality constraints, subclassing ValueError for backward compatibility.

Improvements to conformal thickness/roughness in multilayers:

  • Documented and clarified the usage and persistence of conformal_thickness and conformal_roughness toggles in Multilayer and RepeatingMultilayer assemblies, including their serialization and behavior on save/load.

minor updates/fixes after code review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request does not contain a valid label. Please add one of the following labels: ['chore', 'fix', 'bugfix', 'bug', 'enhancement', 'feature', 'dependencies', 'documentation']

@codecov

codecov Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.90909% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.87%. Comparing base (47a97d5) to head (8963fd4).

Files with missing lines Patch % Lines
src/easyreflectometry/constraints.py 92.85% 3 Missing ⚠️
src/easyreflectometry/project.py 87.50% 3 Missing ⚠️
src/easyreflectometry/inequality_constraints.py 66.66% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@                   Coverage Diff                    @@
##           improved_constraints     #398      +/-   ##
========================================================
- Coverage                 93.89%   93.87%   -0.03%     
========================================================
  Files                        54       54              
  Lines                      5098     5173      +75     
========================================================
+ Hits                       4787     4856      +69     
- Misses                      311      317       +6     
Flag Coverage Δ
integration 39.18% <23.37%> (-0.23%) ⬇️
unittests 93.87% <90.90%> (-0.03%) ⬇️

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

Files with missing lines Coverage Δ
src/easyreflectometry/__init__.py 88.88% <100.00%> (+3.17%) ⬆️
.../easyreflectometry/sample/assemblies/multilayer.py 100.00% <100.00%> (ø)
...ctometry/sample/assemblies/repeating_multilayer.py 97.29% <ø> (ø)
src/easyreflectometry/inequality_constraints.py 94.00% <66.66%> (+0.03%) ⬆️
src/easyreflectometry/constraints.py 96.38% <92.85%> (-3.62%) ⬇️
src/easyreflectometry/project.py 92.65% <87.50%> (-0.14%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rozyczko rozyczko added [scope] documentation Documentation only changes (major.minor.patch.POST) [priority] high Should be prioritized soon chore Chore changes to the code labels Aug 31, 2026
@rozyczko
rozyczko merged commit 3f23109 into polarized_channels Aug 31, 2026
56 of 61 checks passed
@rozyczko
rozyczko deleted the updated_docs branch August 31, 2026 13:07
rozyczko added a commit that referenced this pull request Sep 1, 2026
* initial version

* added magnetic SLD profile

* added magnetic parameters

* ruff

* code review comments addressed

* code review fixes for Phase 2, added notebook

* ruff

* PR code review comments

* fixed polarized file load issue

* enable magnetic layers

* new LayerMagnetism component

* ruff

* ruff on notebooks

* bind calculator to model for performance

* attempt at fixing package testing

* package tests only on master

* don't run ruff twice

* code review fixes

* added polarized fitting example/notebook

* fixed default sample generation

* improved wording in the magnetic fitting notebook

* move the most expensive test to integration

* Improved constraints (#395)

* improved handling of constraints

* ruff

* wording

* additional cell in a notebook to showcase the new way of doing
constraints

* fixed notebook

* initial checkin

* .bounds -> min, max

* updates so the code is self-contained and doesn't depend on changes to
core

* Code review comments addressed

* Updated docs (#398)

* move everything to MKDocs
minor updates/fixes after code review

* ruff fix for notebook

* Fix broken conflict resolutions from develop merge

The merge of develop (2042778) left two files with damaged conflict
resolutions: magnetism.ipynb gained a corrupt hybrid cell (invalid
notebook JSON, duplicate cell id) and project.py gained a duplicated
copy of the spin-asymmetry method block with an orphaned method body.
Both files are restored to the branch-side version, which already
contained everything develop had for them.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* code review issues addressed

* removed explicit EasyCore constraints factory reliance

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Chore changes to the code [priority] high Should be prioritized soon [scope] documentation Documentation only changes (major.minor.patch.POST)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant