Skip to content

Release: merge develop into master#147

Merged
AndrewSazonov merged 10 commits intomasterfrom
develop
Apr 9, 2026
Merged

Release: merge develop into master#147
AndrewSazonov merged 10 commits intomasterfrom
develop

Conversation

@easyscience
Copy link
Copy Markdown
Contributor

@easyscience easyscience bot commented Apr 9, 2026

This PR is created automatically to trigger the release pipeline. It merges the accumulated changes from develop into master.

⚠️ It is labeled [bot] release and is excluded from release notes and version bump logic.

easyscience[bot] and others added 10 commits March 31, 2026 09:26
#139)

* Refactor type annotations to remove explicit numpy types in multiple files

* Enable RSE and SLOT rules

* Enable PYI rule and apply some formatting

* Enable PT rule

* Enable FA, INP, ISC, LOG rules

* Enable EM rules

* Enable COM rule

* Enable C4 rule

* Enable PLE, PLW, ASYNC rules

* Fix PLC0415 and PLC2801 ruff errors with targeted noqa

* Enable UP rule

* Enable TRY rule

* Enable PERF rule

* Update Python version compatibility to 3.12 and adjust related configurations

* Fix np.array to np.ndarray in type annotations

* Add repository name to GitHub action configuration

* Add additional Conda dependencies for osx-arm64 platform

* Update GitHub Actions workflow to add concurrency and conditional execution

* Correct typo: from "Crystall" to "Crystal"
* Add architecture design document for sequential fitting feature

* Improve architecture design document for sequential fitting feature

* Update sequential fitting design

* Final update sequential fitting design

* Accept list of experiments in Fitter.fit instead of collection
* Replace uid_map with direct parameter references in aliases

* Auto-enable constraints on create, add enable/disable API

* Implement Project.load() from CIF directory

* Encode free flags via CIF uncertainty brackets

* Update notebooks

* Update serialization process to apply constraints before saving project

* Move CIF loop truncation from persistence to display methods

* Add CIF round-trip integration tests for experiments and structures

* Add new integration test

* Move analysis.cif into analysis/ directory

* Add destination parameter to extract_data_paths_from_zip

* Add missing Returns sections to docstrings

* Add sequential fitting infrastructure with CSV output

* Unify plot_param_series to read from CSV with snapshot fallback

* Add multiprocessing support to fit_sequential

* Write results.csv from existing single-fit mode

* Add apply_params_from_csv for dataset replay

* Prevent spawn re-import of __main__ in parallel fit_sequential

* Support negative indexing and force recalc in apply_params_from_csv

* Add extract_project_from_zip helper function

* Refactor extract_project_from_zip call to use zip_path variable

* Refactor notebook cell IDs and update project loading process

* Remove CSV writing from fit() to fix sequential crash recovery

* Fix extract_project_from_zip to find project.cif from zip contents
* Replace uid_map with direct parameter references in aliases

* Auto-enable constraints on create, add enable/disable API

* Implement Project.load() from CIF directory

* Encode free flags via CIF uncertainty brackets

* Update notebooks

* Update serialization process to apply constraints before saving project

* Move CIF loop truncation from persistence to display methods

* Add CIF round-trip integration tests for experiments and structures

* Add new integration test

* Move analysis.cif into analysis/ directory

* Add destination parameter to extract_data_paths_from_zip

* Add missing Returns sections to docstrings

* Add sequential fitting infrastructure with CSV output

* Unify plot_param_series to read from CSV with snapshot fallback

* Add multiprocessing support to fit_sequential

* Write results.csv from existing single-fit mode

* Add apply_params_from_csv for dataset replay

* Prevent spawn re-import of __main__ in parallel fit_sequential

* Support negative indexing and force recalc in apply_params_from_csv

* Add extract_project_from_zip helper function

* Refactor extract_project_from_zip call to use zip_path variable

* Refactor notebook cell IDs and update project loading process

* Remove CSV writing from fit() to fix sequential crash recovery

* Fix extract_project_from_zip to find project.cif from zip contents

* Add unit tests

* Add functional tests

* Add unit tests

* More tests

* Add more tests

* Replace deprecated loadData with load_data from diffpy

* Suppress specific warnings in pyproject.toml for better test output

* Enable RUF rules and fix all 297 violations

* Enable PRL rules (phase 1)

* Use ruff default PLR thresholds with max-args=6

* Refactor FitResults to fix PLR complexity violations in reporting.py

* Remove verbosity param from Experiments.add_from_data_path

* Move data-loading print from ExperimentFactory to collection

* Fix plotting tests and add numpy conversion in _prepare_powder_context

* Update tests, tutorials, and docs to use analysis.display API

* Reduce McCabe complexity for C90 rule compliance

* Fix all FURB rule violations

* Fix all PIE rule violations

* Fix all BLE001 blind-except violations

* Add test-all task

* Fix tutorial

* Update diagrams and clean up

* Harden pickle and urlopen against security audit findings

* Increase integration test coverage

* Add unit test coverage for utils.py helper functions

* Update coverage.yml to refine workflow triggers and concurrency settings

* Add unit tests to improve patch coverage for changed files
* Update save_as paths to include 'data/' directory and adjust test function to use temporary directory

* Add crysfml

* Update notebooks

* Clean up

* Add simple integration test for crysfml

* Bump pycrysfml to 0.2.1

* Add pytest marker to neutron_pd_cwl_lbco_crysfml test

* Extend package test script by adding pycrysfml

* Fix scipp integration test

* Move jupyterlab and pixi-kernel out from pyproject.toml

* Remove unnecessary libcxx addition for osx-64 in test.yml

* Add custom PyPI index support for pycrysfml in test.yml

* Update .gitignore to include data directory for tutorial runtime

* Apply latest templates

* Add temporary rule ignores for docstring and datetime checks in pyproject.toml

* Apply new templates

* Update index hash for data integrity in utils.py

* Add reverse flag to fit_sequential for reverse-order processing
)

* Update save_as paths to include 'data/' directory and adjust test function to use temporary directory

* Add crysfml

* Update notebooks

* Clean up

* Add simple integration test for crysfml

* Bump pycrysfml to 0.2.1

* Add pytest marker to neutron_pd_cwl_lbco_crysfml test

* Extend package test script by adding pycrysfml

* Fix scipp integration test

* Move jupyterlab and pixi-kernel out from pyproject.toml

* Remove unnecessary libcxx addition for osx-64 in test.yml

* Add custom PyPI index support for pycrysfml in test.yml

* Update .gitignore to include data directory for tutorial runtime

* Apply latest templates

* Add temporary rule ignores for docstring and datetime checks in pyproject.toml

* Apply new templates

* Update index hash for data integrity in utils.py

* Add reverse flag to fit_sequential for reverse-order processing

* Update tutorials index

* Update tutorial

* Add initial structure and analysis configuration files

* Fix asymmetry and save/restore peak_profile_type in experiment CIF

* Refactor switchable-type restore into _restore_switchable_types

* Update test example

* Update data-index.json known hash in utils.py
* Update save_as paths to include 'data/' directory and adjust test function to use temporary directory

* Add crysfml

* Update notebooks

* Clean up

* Add simple integration test for crysfml

* Bump pycrysfml to 0.2.1

* Add pytest marker to neutron_pd_cwl_lbco_crysfml test

* Extend package test script by adding pycrysfml

* Fix scipp integration test

* Move jupyterlab and pixi-kernel out from pyproject.toml

* Remove unnecessary libcxx addition for osx-64 in test.yml

* Add custom PyPI index support for pycrysfml in test.yml

* Update .gitignore to include data directory for tutorial runtime

* Apply latest templates

* Add temporary rule ignores for docstring and datetime checks in pyproject.toml

* Apply new templates

* Update index hash for data integrity in utils.py

* Add reverse flag to fit_sequential for reverse-order processing

* Update tutorials index

* Update tutorial

* Add initial structure and analysis configuration files

* Fix asymmetry and save/restore peak_profile_type in experiment CIF

* Refactor switchable-type restore into _restore_switchable_types

* Update test example

* Update data-index.json known hash in utils.py

* Return numpy array from CrysfmlCalculator and adjust pattern length handling

* Add aliases and constraints for isotropic displacement parameters refinement

* Add fit command to CLI

* Update notebooks

* Add CLI documentation to User Guide

* Update documentation to move Command-Line Interface section

* Bump dependencies

* Add back the lost doc file

* Re-copy templates

* Update installation instructions and CI workflow for macOS support
* Reorganize tmp/ directory

* Implement parameter correlations table/plot

* Enhance correlation heatmap with threshold and precision parameters for labels

* Refine documentation and examples

* Refactor example notebooks to improve clarity

* Temporarily lower minimum coverage percentage requirement from 75 to 70

* Remove show_diagonal and triangle from plot_param_correlations

* Fix PlotterBase.plot_correlation_heatmap lint errors

* Fix future annotations, dead code, and **kwargs in display

* Clean up
@easyscience easyscience bot added the [bot] release Automated release PR. Excluded from changelog/versioning label Apr 9, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 9, 2026

Codecov Report

❌ Patch coverage is 82.77027% with 306 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.31%. Comparing base (aeabe24) to head (7f4f336).
⚠️ Report is 12 commits behind head on master.

Files with missing lines Patch % Lines
src/easydiffraction/analysis/sequential.py 71.42% 58 Missing and 26 partials ⚠️
src/easydiffraction/display/plotting.py 76.85% 35 Missing and 21 partials ⚠️
src/easydiffraction/analysis/analysis.py 89.83% 15 Missing and 10 partials ⚠️
src/easydiffraction/analysis/calculators/cryspy.py 84.78% 7 Missing and 14 partials ⚠️
src/easydiffraction/io/cif/serialize.py 85.59% 7 Missing and 10 partials ⚠️
src/easydiffraction/project/project.py 85.57% 4 Missing and 11 partials ⚠️
src/easydiffraction/utils/logging.py 36.84% 11 Missing and 1 partial ⚠️
src/easydiffraction/utils/environment.py 33.33% 7 Missing and 1 partial ⚠️
...diffraction/datablocks/experiment/item/total_pd.py 53.33% 6 Missing and 1 partial ⚠️
src/easydiffraction/display/plotters/plotly.py 91.02% 3 Missing and 4 partials ⚠️
... and 27 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #147      +/-   ##
==========================================
+ Coverage   82.04%   89.31%   +7.27%     
==========================================
  Files         133      134       +1     
  Lines        6916     7700     +784     
  Branches      581      723     +142     
==========================================
+ Hits         5674     6877    +1203     
+ Misses       1037      593     -444     
- Partials      205      230      +25     
Flag Coverage Δ
integration 75.02% <66.15%> (+6.51%) ⬆️
unittests 80.00% <62.95%> (+8.45%) ⬆️

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 13c3294 into master Apr 9, 2026
48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[bot] release Automated release PR. Excluded from changelog/versioning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant