easydiffraction 0.12.0__tar.gz → 0.13.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.copier-answers.yml +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/copilot-instructions.md +19 -3
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/pypi-test.yml +1 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/test.yml +36 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.gitignore +1 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/PKG-INFO +1 -1
- easydiffraction-0.13.0/docs/architecture/ROADMAP.md +382 -0
- easydiffraction-0.13.0/docs/architecture/adp_implementation.md +321 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/architecture/architecture.md +172 -98
- easydiffraction-0.13.0/docs/architecture/cryspy-dwf-bug.md +126 -0
- easydiffraction-0.13.0/docs/architecture/issues_closed.md +125 -0
- easydiffraction-0.13.0/docs/architecture/issues_open.md +1524 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/architecture/package-structure-full.md +41 -13
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/architecture/package-structure-short.md +15 -3
- easydiffraction-0.13.0/docs/docs/tutorials/data/MAT005500.BS.bin02Double_0_int_c.histogramIgor +12638 -0
- easydiffraction-0.13.0/docs/docs/tutorials/data/MAT005500.SE.bin02Double_0_int_c.histogramIgor +9813 -0
- easydiffraction-0.13.0/docs/docs/tutorials/data/ed-7.xye +5600 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-1.ipynb +25 -25
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-1.py +2 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-10.ipynb +24 -23
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-10.py +3 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-11.ipynb +27 -26
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-11.py +3 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-12.ipynb +33 -32
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-12.py +5 -4
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-13.ipynb +230 -231
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-13.py +25 -26
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-14.ipynb +159 -46
- easydiffraction-0.13.0/docs/docs/tutorials/ed-14.py +159 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-15.ipynb +120 -35
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-15.py +35 -6
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-16.ipynb +67 -66
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-16.py +8 -7
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-17.ipynb +117 -81
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-17.py +31 -19
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-18.ipynb +35 -17
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-18.py +7 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-2.ipynb +129 -39
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-2.py +46 -9
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-3.ipynb +183 -210
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-3.py +11 -20
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-4.ipynb +69 -68
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-4.py +6 -5
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-5.ipynb +86 -86
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-5.py +23 -25
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-6.ipynb +100 -90
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-6.py +13 -10
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-7.ipynb +109 -94
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-7.py +20 -12
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-8.ipynb +87 -86
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-8.py +27 -26
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-9.ipynb +80 -87
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/ed-9.py +16 -17
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/analysis-workflow/analysis.md +2 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/analysis-workflow/model.md +2 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/first-steps.md +10 -10
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters.md +13 -13
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/pixi.lock +126 -126
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/pixi.toml +3 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/pyproject.toml +2 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/__main__.py +8 -8
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/analysis.py +55 -128
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/calculators/base.py +2 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/calculators/crysfml.py +8 -8
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/calculators/cryspy.py +357 -25
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/calculators/pdffit.py +2 -3
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/fit_mode/enums.py +6 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/fit_mode/fit_mode.py +2 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/fit_helpers/reporting.py +41 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/fitting.py +21 -2
- easydiffraction-0.13.0/src/easydiffraction/analysis/minimizers/__init__.py +11 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/minimizers/base.py +109 -4
- easydiffraction-0.13.0/src/easydiffraction/analysis/minimizers/bumps.py +266 -0
- easydiffraction-0.13.0/src/easydiffraction/analysis/minimizers/bumps_amoeba.py +35 -0
- easydiffraction-0.13.0/src/easydiffraction/analysis/minimizers/bumps_de.py +35 -0
- easydiffraction-0.13.0/src/easydiffraction/analysis/minimizers/bumps_lm.py +37 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/minimizers/dfols.py +4 -3
- easydiffraction-0.13.0/src/easydiffraction/analysis/minimizers/enums.py +51 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/minimizers/factory.py +2 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/minimizers/lmfit.py +4 -3
- easydiffraction-0.13.0/src/easydiffraction/analysis/minimizers/lmfit_least_squares.py +37 -0
- easydiffraction-0.13.0/src/easydiffraction/analysis/minimizers/lmfit_leastsq.py +39 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/sequential.py +1 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/category.py +10 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/datablock.py +1 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/guard.py +9 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/singleton.py +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/validation.py +1 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/variable.py +18 -0
- easydiffraction-0.13.0/src/easydiffraction/crystallography/crystallography.py +503 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/background/chebyshev.py +5 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/background/enums.py +1 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/background/line_segment.py +5 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/data/bragg_pd.py +18 -7
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/data/bragg_sc.py +5 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/data/total_pd.py +5 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/default.py +5 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/extinction/__init__.py +3 -1
- easydiffraction-0.12.0/src/easydiffraction/datablocks/experiment/categories/extinction/shelx.py → easydiffraction-0.13.0/src/easydiffraction/datablocks/experiment/categories/extinction/becker_coppens.py +54 -20
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/extinction/factory.py +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/instrument/cwl.py +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/default.py +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/peak/__init__.py +6 -4
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/peak/cwl.py +4 -4
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/peak/factory.py +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/peak/tof.py +39 -21
- easydiffraction-0.13.0/src/easydiffraction/datablocks/experiment/categories/peak/tof_mixins.py +496 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/item/base.py +12 -284
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/item/bragg_pd.py +1 -47
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/item/enums.py +55 -11
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/item/factory.py +1 -2
- easydiffraction-0.13.0/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/__init__.py +7 -0
- easydiffraction-0.13.0/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/default.py +283 -0
- easydiffraction-0.13.0/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/factory.py +17 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/__init__.py +1 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/default.py +300 -12
- easydiffraction-0.13.0/src/easydiffraction/datablocks/structure/categories/atom_sites/enums.py +31 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/categories/cell/default.py +4 -3
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/item/base.py +74 -106
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/plotters/ascii.py +1 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/plotters/plotly.py +2 -6
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/plotting.py +11 -4
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/tablers/base.py +1 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/tablers/pandas.py +44 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/tablers/rich.py +1 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/io/ascii.py +21 -16
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/io/cif/serialize.py +67 -25
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/project/project.py +1 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/summary/summary.py +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/utils/utils.py +6 -6
- easydiffraction-0.13.0/tests/functional/test_adp_switching.py +244 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/functional/test_experiment_workflow.py +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/functional/test_fitting_workflow.py +15 -15
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/functional/test_structure_workflow.py +6 -6
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/functional/test_switchable_categories.py +6 -6
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/conftest.py +4 -4
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_analysis_display.py +0 -18
- easydiffraction-0.13.0/tests/integration/fitting/test_aniso_adp_fitting.py +106 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_cif_round_trip.py +6 -6
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_exploration_help.py +6 -18
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_multi.py +25 -25
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_pair-distribution-function.py +8 -8
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_powder-diffraction_constant-wavelength.py +42 -42
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_powder-diffraction_joint-fit.py +10 -10
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_powder-diffraction_time-of-flight.py +20 -20
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_project_load.py +6 -6
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_sequential.py +4 -4
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_single-crystal-diffraction.py +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_switch-calculator.py +2 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/scipp-analysis/dream/test_analyze_reduced_data.py +8 -8
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/calculators/test_cryspy.py +2 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/categories/test_aliases.py +2 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/fit_helpers/test_metrics.py +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/minimizers/test_base.py +18 -6
- easydiffraction-0.13.0/tests/unit/easydiffraction/analysis/minimizers/test_bumps.py +415 -0
- easydiffraction-0.13.0/tests/unit/easydiffraction/analysis/minimizers/test_bumps_amoeba.py +99 -0
- easydiffraction-0.13.0/tests/unit/easydiffraction/analysis/minimizers/test_bumps_de.py +99 -0
- easydiffraction-0.13.0/tests/unit/easydiffraction/analysis/minimizers/test_bumps_lm.py +100 -0
- easydiffraction-0.13.0/tests/unit/easydiffraction/analysis/minimizers/test_enums.py +32 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/minimizers/test_factory.py +23 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/minimizers/test_lmfit.py +1 -1
- easydiffraction-0.13.0/tests/unit/easydiffraction/analysis/minimizers/test_lmfit_least_squares.py +90 -0
- easydiffraction-0.13.0/tests/unit/easydiffraction/analysis/minimizers/test_lmfit_leastsq.py +90 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/test_analysis.py +1 -46
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/test_analysis_coverage.py +2 -96
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/test_fitting.py +20 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_cwl.py +4 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_cwl_mixins.py +4 -2
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_factory.py +3 -3
- easydiffraction-0.13.0/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_tof.py +40 -0
- easydiffraction-0.13.0/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_tof_mixins.py +90 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_extinction.py +57 -16
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_base.py +7 -7
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_base_coverage.py +0 -76
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_sc_coverage.py +0 -45
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_enums_coverage.py +15 -10
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_factory.py +3 -3
- easydiffraction-0.13.0/tests/unit/easydiffraction/datablocks/structure/categories/test_atom_site_aniso.py +537 -0
- easydiffraction-0.13.0/tests/unit/easydiffraction/datablocks/structure/categories/test_atom_sites.py +249 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/structure/item/test_base_coverage.py +3 -78
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/test_plotting.py +12 -5
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/io/cif/test_parse.py +4 -4
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/io/cif/test_serialize.py +3 -3
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/io/cif/test_serialize_more.py +1 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/io/test_ascii.py +58 -1
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/project/test_project_load.py +5 -5
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/summary/test_summary_details.py +1 -1
- easydiffraction-0.12.0/docs/architecture/issues_closed.md +0 -117
- easydiffraction-0.12.0/docs/architecture/issues_open.md +0 -294
- easydiffraction-0.12.0/docs/architecture/sequential_fitting_design.md +0 -1269
- easydiffraction-0.12.0/docs/docs/tutorials/ed-14.py +0 -109
- easydiffraction-0.12.0/src/easydiffraction/analysis/minimizers/__init__.py +0 -5
- easydiffraction-0.12.0/src/easydiffraction/crystallography/crystallography.py +0 -191
- easydiffraction-0.12.0/src/easydiffraction/datablocks/experiment/categories/peak/tof_mixins.py +0 -276
- easydiffraction-0.12.0/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_tof.py +0 -25
- easydiffraction-0.12.0/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_tof_mixins.py +0 -42
- easydiffraction-0.12.0/tests/unit/easydiffraction/datablocks/structure/categories/test_atom_sites.py +0 -132
- easydiffraction-0.12.0/tmp/cli/lbco_hrpt/analysis/analysis.cif +0 -15
- easydiffraction-0.12.0/tmp/cli/lbco_hrpt/experiments/hrpt.cif +0 -3156
- easydiffraction-0.12.0/tmp/cli/lbco_hrpt/project.cif +0 -5
- easydiffraction-0.12.0/tmp/cli/lbco_hrpt/structures/lbco.cif +0 -26
- easydiffraction-0.12.0/tmp/correlations/ed-1.py +0 -113
- easydiffraction-0.12.0/tmp/data/DREAM_mantle_bc240_nist_cif.xye +0 -1007
- easydiffraction-0.12.0/tmp/data/DREAM_mantle_bc240_nist_cif_2.xye +0 -802
- easydiffraction-0.12.0/tmp/data/DREAM_mantle_bc240_nist_nc.xye +0 -1007
- easydiffraction-0.12.0/tmp/data/DREAM_mantle_bc240_nist_nc_2.xye +0 -802
- easydiffraction-0.12.0/tmp/data/Si_mp-149_symmetrized_mcstas.cif +0 -221
- easydiffraction-0.12.0/tmp/data/hrpt.cif +0 -3140
- easydiffraction-0.12.0/tmp/data/hrpt_lbco.xye +0 -3099
- easydiffraction-0.12.0/tmp/data/large_structure.cif +0 -5025
- easydiffraction-0.12.0/tmp/data/lbco.cif +0 -36
- easydiffraction-0.12.0/tmp/data_old/mcstas_lbco-si.xys +0 -1000
- easydiffraction-0.12.0/tmp/data_old/mcstas_lbco-si_up-to-108k.xys +0 -634
- easydiffraction-0.12.0/tmp/data_old/powder_reduced_Si_2large_bank.xye +0 -1002
- easydiffraction-0.12.0/tmp/data_old/reduced_LBCO.xye +0 -902
- easydiffraction-0.12.0/tmp/data_old/reduced_Si.xye +0 -902
- easydiffraction-0.12.0/tmp/data_old/wish_ncaf.xye +0 -3738
- easydiffraction-0.12.0/tmp/data_old/wish_ncaf_2_9.xye +0 -3454
- easydiffraction-0.12.0/tmp/data_old/wish_ncaf_4_7.xye +0 -3472
- easydiffraction-0.12.0/tmp/data_old/wish_ncaf_4_7.xys +0 -4043
- easydiffraction-0.12.0/tmp/data_old/wish_ncaf_5_6.xye +0 -3573
- easydiffraction-0.12.0/tmp/data_old/wish_ybcfo_5_6.xye +0 -3807
- easydiffraction-0.12.0/tmp/hep7c/data/HEP_7c_LaMe_riet.dat +0 -9101
- easydiffraction-0.12.0/tmp/hep7c/data/hep7c_4.dat +0 -1469
- easydiffraction-0.12.0/tmp/hep7c/hep7c_I/analysis/analysis.cif +0 -25
- easydiffraction-0.12.0/tmp/hep7c/hep7c_I/experiments/pd_xray_1.cif +0 -1540
- easydiffraction-0.12.0/tmp/hep7c/hep7c_I/project.cif +0 -5
- easydiffraction-0.12.0/tmp/hep7c/hep7c_I/structures/lam7o3.cif +0 -32
- easydiffraction-0.12.0/tmp/hep7c/hep7c_I/summary.cif +0 -1
- easydiffraction-0.12.0/tmp/hep7c/hep7c_I.py +0 -514
- easydiffraction-0.12.0/tmp/hep7c/hep7c_II/analysis/analysis.cif +0 -25
- easydiffraction-0.12.0/tmp/hep7c/hep7c_II/experiments/pd_xray_2.cif +0 -9192
- easydiffraction-0.12.0/tmp/hep7c/hep7c_II/project.cif +0 -5
- easydiffraction-0.12.0/tmp/hep7c/hep7c_II/structures/lam7o3.cif +0 -32
- easydiffraction-0.12.0/tmp/hep7c/hep7c_II/summary.cif +0 -1
- easydiffraction-0.12.0/tmp/hep7c/hep7c_II.py +0 -534
- easydiffraction-0.12.0/tmp/hep7c/hep7c_joint/analysis/analysis.cif +0 -31
- easydiffraction-0.12.0/tmp/hep7c/hep7c_joint/experiments/pd_xray_1.cif +0 -1540
- easydiffraction-0.12.0/tmp/hep7c/hep7c_joint/experiments/pd_xray_2.cif +0 -9192
- easydiffraction-0.12.0/tmp/hep7c/hep7c_joint/project.cif +0 -5
- easydiffraction-0.12.0/tmp/hep7c/hep7c_joint/structures/lam7o3.cif +0 -32
- easydiffraction-0.12.0/tmp/hep7c/hep7c_joint/summary.cif +0 -1
- easydiffraction-0.12.0/tmp/hep7c/hep7c_joint.py +0 -228
- easydiffraction-0.12.0/tmp/unsorted/Untitled.ipynb +0 -567
- easydiffraction-0.12.0/tmp/unsorted/Untitled0.ipynb +0 -492
- easydiffraction-0.12.0/tmp/unsorted/Untitled1.ipynb +0 -149
- easydiffraction-0.12.0/tmp/unsorted/Untitled2.ipynb +0 -6
- easydiffraction-0.12.0/tmp/unsorted/__validator.py +0 -87
- easydiffraction-0.12.0/tmp/unsorted/_gemmi.py +0 -613
- easydiffraction-0.12.0/tmp/unsorted/_read_cif.py +0 -184
- easydiffraction-0.12.0/tmp/unsorted/_smart.py +0 -162
- easydiffraction-0.12.0/tmp/unsorted/basic_single-fit_pd-neut-cwl_LBCO-HRPT.py +0 -736
- easydiffraction-0.12.0/tmp/unsorted/cryst-struct_pd-neut-tof_multiphase-BSFTO-HRPT.py +0 -269
- easydiffraction-0.12.0/tmp/unsorted/display.py +0 -413
- easydiffraction-0.12.0/tmp/unsorted/display2.py +0 -28
- easydiffraction-0.12.0/tmp/unsorted/display3-Copy1.py +0 -45
- easydiffraction-0.12.0/tmp/unsorted/display3.py +0 -173
- easydiffraction-0.12.0/tmp/unsorted/generate_overview_mermaid.py +0 -309
- easydiffraction-0.12.0/tmp/unsorted/hrpt_n_Bi0p88Sm0p12Fe0p94Ti0p06O3_DW_V_9x8x52_1p49_HI.xye +0 -3244
- easydiffraction-0.12.0/tmp/unsorted/short.py +0 -94
- easydiffraction-0.12.0/tmp/unsorted/short2.py +0 -228
- easydiffraction-0.12.0/tmp/unsorted/short3.py +0 -138
- easydiffraction-0.12.0/tmp/unsorted/short5.py +0 -316
- easydiffraction-0.12.0/tmp/unsorted/short6.py +0 -85
- easydiffraction-0.12.0/tmp/unsorted/short7.py +0 -128
- easydiffraction-0.12.0/tmp/unsorted/show_d401.py +0 -26
- easydiffraction-0.12.0/tmp/unsorted/show_w505.py +0 -27
- easydiffraction-0.12.0/tmp/unsorted/test_single-fit_pd-neut-tof_Si-DREAM_nc.py +0 -153
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.badgery.yaml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.codefactorignore +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/actions/download-artifact/action.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/actions/github-script/action.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/actions/setup-easyscience-bot/action.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/actions/setup-pixi/action.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/actions/upload-artifact/action.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/actions/upload-codecov/action.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/configs/pages-deployment.json +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/configs/rulesets-develop.json +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/configs/rulesets-gh-pages.json +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/configs/rulesets-master.json +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/scripts/backmerge-conflict-issue.js +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/backmerge.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/cleanup.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/coverage.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/dashboard.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/docs.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/issues-labels.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/lint-format.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/pr-labels.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/pypi-publish.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/release-notes.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/release-pr.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/security.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/test-trigger.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/tutorial-tests-colab.yaml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/tutorial-tests-trigger.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.github/workflows/tutorial-tests.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.pre-commit-config.yaml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/.prettierignore +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/CONTRIBUTING.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/LICENSE +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/README.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/codecov.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/analysis.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/core.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/crystallography.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/datablocks/experiment.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/datablocks/structure.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/display.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/index.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/io.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/project.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/summary.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/api-reference/utils.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/images/favicon.png +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/images/logo_dark.svg +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/images/logo_light.svg +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/images/user-guide/data-acquisition_2d-raw-data.jpg +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/images/user-guide/data-acquisition_instrument.png +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/images/user-guide/data-analysis_model.png +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/images/user-guide/data-analysis_refinement.png +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/images/user-guide/data-reduction_1d-pattern.png +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/javascripts/extra.js +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/javascripts/mathjax.js +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/assets/stylesheets/extra.css +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/cli/index.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/index.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/installation-and-setup/index.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/introduction/index.md +0 -0
- {easydiffraction-0.12.0/tmp/cli/lbco_hrpt → easydiffraction-0.13.0/docs/docs/tutorials/data/lbco_project}/summary.cif +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/index.json +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/tutorials/index.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/analysis-workflow/experiment.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/analysis-workflow/index.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/analysis-workflow/project.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/analysis-workflow/summary.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/concept.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/data-format.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/glossary.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/index.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/_diffrn_radiation.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/_diffrn_radiation_wavelength.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/_exptl_crystal.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/_extinction.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/_pd_calib.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/atom_site.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/background.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/cell.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/expt_type.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/instrument.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/linked_phases.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/pd_meas.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/peak.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/docs/user-guide/parameters/space_group.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/includes/abbreviations.md +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/mkdocs.yml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/overrides/.icons/app.svg +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/overrides/.icons/easydiffraction.svg +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/overrides/.icons/easyscience.svg +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/overrides/.icons/google-colab.svg +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/overrides/main.html +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/docs/overrides/partials/logo.html +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/prettierrc.toml +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/calculators/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/calculators/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/aliases/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/aliases/default.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/aliases/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/constraints/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/constraints/default.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/constraints/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/fit_mode/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/fit_mode/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/joint_fit_experiments/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/joint_fit_experiments/default.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/categories/joint_fit_experiments/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/fit_helpers/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/fit_helpers/metrics.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/analysis/fit_helpers/tracking.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/collection.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/diagnostic.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/identity.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/core/metadata.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/crystallography/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/crystallography/space_groups.pkl.gz +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/crystallography/space_groups.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/background/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/background/base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/background/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/data/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/data/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/default.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/default.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/instrument/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/instrument/base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/instrument/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/instrument/tof.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/default.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/peak/base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/peak/cwl_mixins.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/peak/total.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/categories/peak/total_mixins.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/collection.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/item/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/item/bragg_sc.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/experiment/item/total_pd.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/categories/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/categories/cell/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/categories/cell/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/categories/space_group/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/categories/space_group/default.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/categories/space_group/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/collection.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/item/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/datablocks/structure/item/factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/plotters/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/plotters/base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/tablers/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/tables.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/display/utils.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/io/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/io/cif/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/io/cif/handler.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/io/cif/parse.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/project/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/project/project_info.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/summary/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/utils/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/utils/_vendored/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/utils/_vendored/jupyter_dark_detect/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/utils/_vendored/jupyter_dark_detect/detector.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/utils/_vendored/theme_detect.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/utils/enums.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/utils/environment.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/src/easydiffraction/utils/logging.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/functional/conftest.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/functional/test_project_lifecycle.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_plotting.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/fitting/test_summary_report.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/scipp-analysis/dream/conftest.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/scipp-analysis/dream/test_package_import.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/scipp-analysis/dream/test_read_reduced_data.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/scipp-analysis/dream/test_validate_meta_data.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/integration/scipp-analysis/dream/test_validate_physical_data.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/calculators/test_base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/calculators/test_crysfml.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/calculators/test_factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/calculators/test_pdffit.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/categories/test_constraints.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/categories/test_fit_mode.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/categories/test_joint_fit_experiments.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/fit_helpers/test_reporting.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/fit_helpers/test_tracking.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/minimizers/test_dfols.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/test_analysis_access_params.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/test_analysis_show_empty.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/analysis/test_sequential.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_category.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_collection.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_datablock.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_diagnostic.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_guard.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_identity.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_metadata.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_parameters.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_singletons.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/core/test_validation.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/crystallography/test_crystallography.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/crystallography/test_crystallography_coverage.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/crystallography/test_crystallography_wyckoff.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/crystallography/test_space_groups.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/crystallography/test_space_groups_coverage.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_chebyshev.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_enums.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_line_segment.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_bragg_pd.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_bragg_sc.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_total_pd.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_cwl.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_tof.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_total.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_total_mixins.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_diffrn.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_excluded_regions.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_experiment_type.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_linked_crystal.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_linked_phases.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_pd.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_sc.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_enums.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_factory_coverage.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_total_pd.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/experiment/test_collection.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/structure/categories/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_cell.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_space_group.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/structure/item/test_base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/structure/item/test_factory.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/structure/test_collection.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/datablocks/structure/test_collection_coverage.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/plotters/test_ascii.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/plotters/test_base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/plotters/test_plotly.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/tablers/__init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/tablers/test_base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/tablers/test_pandas.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/tablers/test_rich.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/test_base.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/test_plotting_coverage.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/test_tables.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/display/test_utils.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/io/cif/test_handler.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/project/test_project.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/project/test_project_info.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/project/test_project_load_and_summary_wrap.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/project/test_project_save.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/summary/test_summary.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/test___init__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/test___main__.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/utils/test_enums.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/utils/test_environment.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/utils/test_environment_coverage.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/utils/test_logging.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/utils/test_logging_coverage.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/utils/test_theme_detect.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/utils/test_utils.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tests/unit/easydiffraction/utils/test_utils_coverage.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tools/gen_tests_scaffold.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tools/generate_package_docs.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tools/license_headers.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tools/naming_check.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tools/param_consistency.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tools/test_scripts.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tools/test_structure_check.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tools/tweak_notebooks.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tools/update_docs_assets.py +0 -0
- {easydiffraction-0.12.0 → easydiffraction-0.13.0}/tools/update_github_labels.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# WARNING: Do not edit this file manually.
|
|
2
2
|
# Any changes will be overwritten by Copier.
|
|
3
|
-
_commit: v0.10.1-
|
|
3
|
+
_commit: v0.10.1-41-g508666e
|
|
4
4
|
_src_path: gh:easyscience/templates
|
|
5
5
|
app_docs_url: https://easyscience.github.io/diffraction-app
|
|
6
6
|
app_doi: 10.5281/zenodo.18163581
|
|
@@ -44,6 +44,10 @@
|
|
|
44
44
|
- Type-annotate all public function signatures.
|
|
45
45
|
- Docstrings on all public classes and methods (numpy style). These must
|
|
46
46
|
include sections Parameters, Returns and Raises, where applicable.
|
|
47
|
+
- Docstring summary must be a single line no longer than 72 characters
|
|
48
|
+
(the `max-doc-length` setting in `pyproject.toml`). If the summary
|
|
49
|
+
does not fit, shorten the wording rather than wrapping to a second
|
|
50
|
+
line.
|
|
47
51
|
- Prefer flat over nested, explicit over clever.
|
|
48
52
|
- Write straightforward code; do not add defensive checks for unlikely
|
|
49
53
|
edge cases.
|
|
@@ -173,6 +177,15 @@
|
|
|
173
177
|
|
|
174
178
|
## Workflow
|
|
175
179
|
|
|
180
|
+
- Use a two-phase workflow for all non-trivial changes:
|
|
181
|
+
- **Phase 1 — Implementation:** implement the change (source code,
|
|
182
|
+
docs, architecture updates). Do not create new tests or run existing
|
|
183
|
+
tests. Present the implementation for review and iterate until
|
|
184
|
+
approved.
|
|
185
|
+
- **Phase 2 — Verification:** once the implementation is approved, add
|
|
186
|
+
or update tests, then run linting (`pixi run fix`, `pixi run check`)
|
|
187
|
+
and all test suites (`pixi run unit-tests`,
|
|
188
|
+
`pixi run integration-tests`, `pixi run script-tests`).
|
|
176
189
|
- All open issues, design questions, and planned improvements are
|
|
177
190
|
tracked in `docs/architecture/issues_open.md`, ordered by priority.
|
|
178
191
|
When an issue is fully implemented, move it from that file to
|
|
@@ -180,9 +193,12 @@
|
|
|
180
193
|
architecture, update the relevant sections of
|
|
181
194
|
`docs/architecture/architecture.md`.
|
|
182
195
|
- After changes, run linting and formatting fixes with `pixi run fix`.
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
196
|
+
This also regenerates `docs/architecture/package-structure-full.md`
|
|
197
|
+
and `docs/architecture/package-structure-short.md` automatically — do
|
|
198
|
+
not edit those files by hand. Do not check what was auto-fixed, just
|
|
199
|
+
accept the fixes and move on. Then, run linting and formatting checks
|
|
200
|
+
with `pixi run check` and address any remaining issues until the code
|
|
201
|
+
is clean.
|
|
186
202
|
- After changes, run unit tests with `pixi run unit-tests`.
|
|
187
203
|
- After changes, run integration tests with
|
|
188
204
|
`pixi run integration-tests`.
|
|
@@ -99,12 +99,27 @@ jobs:
|
|
|
99
99
|
echo
|
|
100
100
|
echo "🔹🔸🔹🔸🔹 Python: $py_ver 🔹🔸🔹🔸🔹"
|
|
101
101
|
|
|
102
|
-
env="py-$(echo $py_ver | tr -d .)-env" # Converts 3.
|
|
102
|
+
env="py-$(echo $py_ver | tr -d .)-env" # Converts 3.XX -> py-3XX-env
|
|
103
103
|
|
|
104
104
|
echo "Running tests in environment: $env"
|
|
105
105
|
pixi run --environment $env unit-tests
|
|
106
106
|
done
|
|
107
107
|
|
|
108
|
+
- name: Run functional tests
|
|
109
|
+
shell: bash
|
|
110
|
+
run: |
|
|
111
|
+
set -euo pipefail
|
|
112
|
+
|
|
113
|
+
for py_ver in $PY_VERSIONS; do
|
|
114
|
+
echo
|
|
115
|
+
echo "🔹🔸🔹🔸🔹 Python: $py_ver 🔹🔸🔹🔸🔹"
|
|
116
|
+
|
|
117
|
+
env="py-$(echo $py_ver | tr -d .)-env" # Converts 3.XX -> py-3XX-env
|
|
118
|
+
|
|
119
|
+
echo "Running tests in environment: $env"
|
|
120
|
+
pixi run --environment $env functional-tests
|
|
121
|
+
done
|
|
122
|
+
|
|
108
123
|
- name: Run integration tests ${{ needs.env-prepare.outputs.pytest-marks }}
|
|
109
124
|
shell: bash
|
|
110
125
|
run: |
|
|
@@ -114,7 +129,7 @@ jobs:
|
|
|
114
129
|
echo
|
|
115
130
|
echo "🔹🔸🔹🔸🔹 Python: $py_ver 🔹🔸🔹🔸🔹"
|
|
116
131
|
|
|
117
|
-
env="py-$(echo $py_ver | tr -d .)-env" # Converts 3.
|
|
132
|
+
env="py-$(echo $py_ver | tr -d .)-env" # Converts 3.XX -> py-3XX-env
|
|
118
133
|
|
|
119
134
|
echo "Running tests in environment: $env"
|
|
120
135
|
pixi run --environment $env integration-tests ${{ needs.env-prepare.outputs.pytest-marks }}
|
|
@@ -263,6 +278,25 @@ jobs:
|
|
|
263
278
|
cd ..
|
|
264
279
|
done
|
|
265
280
|
|
|
281
|
+
- name: Run functional tests
|
|
282
|
+
shell: bash
|
|
283
|
+
run: |
|
|
284
|
+
set -euo pipefail
|
|
285
|
+
|
|
286
|
+
for py_ver in $PY_VERSIONS; do
|
|
287
|
+
echo
|
|
288
|
+
echo "🔹🔸🔹🔸🔹 Python: $py_ver 🔹🔸🔹🔸🔹"
|
|
289
|
+
|
|
290
|
+
echo "Entering pixi project directory easydiffraction_py$py_ver"
|
|
291
|
+
cd easydiffraction_py$py_ver
|
|
292
|
+
|
|
293
|
+
echo "Running tests"
|
|
294
|
+
pixi run python -m pytest ../tests/functional/ --color=yes -v
|
|
295
|
+
|
|
296
|
+
echo "Exiting pixi project directory"
|
|
297
|
+
cd ..
|
|
298
|
+
done
|
|
299
|
+
|
|
266
300
|
- name: Run integration tests ${{ needs.env-prepare.outputs.pytest-marks }}
|
|
267
301
|
shell: bash
|
|
268
302
|
run: |
|
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
# EasyDiffraction Development Roadmap
|
|
2
|
+
|
|
3
|
+
LIB – Python library API
|
|
4
|
+
APP – graphical application
|
|
5
|
+
CLI – command-line interface
|
|
6
|
+
|
|
7
|
+
Legend:
|
|
8
|
+
|
|
9
|
+
- ✅ done
|
|
10
|
+
- 🚧 work in progress
|
|
11
|
+
- 🗓 planned
|
|
12
|
+
- 🗓`highest` Urgent. Needs attention ASAP
|
|
13
|
+
- 🗓`high` Should be prioritized soon
|
|
14
|
+
- 🗓`medium` Normal/default priority
|
|
15
|
+
- 🗓`low` Low importance
|
|
16
|
+
- 🗓`lowest` Very low urgency
|
|
17
|
+
- — not applicable / not implemented
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# 1. Sample Model
|
|
22
|
+
|
|
23
|
+
## 1.1 Crystal Structure Parameters
|
|
24
|
+
|
|
25
|
+
### Space Group
|
|
26
|
+
|
|
27
|
+
| Feature | LIB | APP |
|
|
28
|
+
| ---------------------------------- | --- | --- |
|
|
29
|
+
| Hermann-Mauguin space-group symbol | ✅ | ✅ |
|
|
30
|
+
| Space group IT number | 🗓 | 🗓 |
|
|
31
|
+
| IT coordinate system code | ✅ | ✅ |
|
|
32
|
+
|
|
33
|
+
### Cell
|
|
34
|
+
|
|
35
|
+
| Feature | LIB | APP |
|
|
36
|
+
| ----------------- | --- | --- |
|
|
37
|
+
| Lengths _a, b, c_ | ✅ | ✅ |
|
|
38
|
+
| Angles _α, β, γ_ | ✅ | ✅ |
|
|
39
|
+
|
|
40
|
+
### Atom Sites
|
|
41
|
+
|
|
42
|
+
| Feature | LIB | APP |
|
|
43
|
+
| ---------------------------------------------- | --- | --- |
|
|
44
|
+
| Neutron scattering lengths (tabulated, CrysPy) | ✅ | ✅ |
|
|
45
|
+
| X-ray scattering factors (tabulated, CrysPy) | ✅ | ✅ |
|
|
46
|
+
| Custom neutron scattering length | 🗓 | 🗓 |
|
|
47
|
+
| Fractional coordinates _x, y, z_ | ✅ | ✅ |
|
|
48
|
+
| Occupancy | ✅ | ✅ |
|
|
49
|
+
| Symmetry _wyckoff_letter_ | ✅ | ✅ |
|
|
50
|
+
|
|
51
|
+
### Atomic Displacement Parameters (ADP)
|
|
52
|
+
|
|
53
|
+
| Feature | LIB | APP |
|
|
54
|
+
| ----------------------------------------------- | --- | --- |
|
|
55
|
+
| Isotropic Biso | ✅ | 🗓 |
|
|
56
|
+
| Isotropic Uiso | 🚧 | ✅ |
|
|
57
|
+
| Anisotropic Bani _B11, B22, B33, B12, B13, B23_ | 🚧 | 🗓 |
|
|
58
|
+
| Anisotropic Uani _U11, U22, U33, U12, U13, U23_ | 🚧 | 🗓 |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 1.2 Magnetic Structure Parameters
|
|
63
|
+
|
|
64
|
+
| Feature | LIB | APP |
|
|
65
|
+
| ------------------------------------------------------- | --- | --- |
|
|
66
|
+
| EPIC (Magnetic space groups, unpolarized and polarized) | 🗓 | 🗓 |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
# 2. Experiment Model
|
|
71
|
+
|
|
72
|
+
## 2.1 Powder Diffraction
|
|
73
|
+
|
|
74
|
+
### Fitting Methods
|
|
75
|
+
|
|
76
|
+
| Feature | LIB | APP |
|
|
77
|
+
| ------------------------------------- | --- | --- |
|
|
78
|
+
| Rietveld refinement (full pattern) | ✅ | ✅ |
|
|
79
|
+
| Le Bail refinement (profile matching) | 🗓 | 🗓 |
|
|
80
|
+
|
|
81
|
+
### Linked Phases
|
|
82
|
+
|
|
83
|
+
| Feature | LIB | APP |
|
|
84
|
+
| ------------ | --- | --- |
|
|
85
|
+
| Scale factor | ✅ | ✅ |
|
|
86
|
+
|
|
87
|
+
### Excluded Regions
|
|
88
|
+
|
|
89
|
+
| Feature | LIB | APP |
|
|
90
|
+
| ----------------------------------------- | --- | --- |
|
|
91
|
+
| Multiple regions<br>_start/end positions_ | ✅ | 🗓 |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
### Background
|
|
96
|
+
|
|
97
|
+
| Feature | LIB | APP |
|
|
98
|
+
| ------------------------------------------------- | --- | --- |
|
|
99
|
+
| Line segments type<br>_x, y_ | ✅ | ✅ |
|
|
100
|
+
| Chebyshev polynomial type<br>_order, coefficient_ | ✅ | 🗓 |
|
|
101
|
+
|
|
102
|
+
### Preferred Orientation
|
|
103
|
+
|
|
104
|
+
| Feature | LIB | APP |
|
|
105
|
+
| ------------------------------------------ | -------- | --- |
|
|
106
|
+
| Basic preferred orientation model (CrysPy) | 🗓`high` | 🗓 |
|
|
107
|
+
|
|
108
|
+
### Instrument — Constant Wavelength
|
|
109
|
+
|
|
110
|
+
| Feature | LIB | APP |
|
|
111
|
+
| -------------------------------------------------------- | --- | --- |
|
|
112
|
+
| Wavelength | ✅ | ✅ |
|
|
113
|
+
| Second wavelength | 🗓 | 🗓 |
|
|
114
|
+
| 2θ offset | ✅ | ✅ |
|
|
115
|
+
| Sample displacement correction (FullProf _SyCos, SySin_) | 🗓 | 🗓 |
|
|
116
|
+
|
|
117
|
+
### Instrument — Time-of-Flight
|
|
118
|
+
|
|
119
|
+
| Feature | LIB | APP |
|
|
120
|
+
| ------------------------------------------------------------- | --- | --- |
|
|
121
|
+
| 2θ bank | ✅ | ✅ |
|
|
122
|
+
| d → TOF conversion<br>_reciprocal, offset, linear, quadratic_ | ✅ | ✅ |
|
|
123
|
+
|
|
124
|
+
### Peak Profile — Constant Wavelength
|
|
125
|
+
|
|
126
|
+
| Feature | LIB | APP |
|
|
127
|
+
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | --- |
|
|
128
|
+
| Pseudo-Voigt + Empirical asymmetry<br>_Gaussian broadening U, V, W. Lorentzian broadening X, Y<br>Empirical asymmetry p1, p2, p3, p4_<br>(CrysPy) | ✅ | ✅ |
|
|
129
|
+
| Thompson-Cox-Hastings Pseudo-Voigt + Finger-Cox-Jephcoat asymmetry<br>_Gaussian broadening U, V, W. Lorentzian broadening X, Y<br>Finger-Cox-Jephcoat asymmetry 1, 2_<br>(CrysFML) | ✅/🗓 | 🗓 |
|
|
130
|
+
|
|
131
|
+
### Peak Profile — Time-of-Flight
|
|
132
|
+
|
|
133
|
+
CrysPy peak_shape options:
|
|
134
|
+
|
|
135
|
+
- "Gauss": Jorgensen (back-to-back exponentials ⊗ Gaussian)
|
|
136
|
+
- "pseudo-Voigt": Jorgensen-Von Dreele (back-to-back exponentials ⊗
|
|
137
|
+
pseudo-Voigt)
|
|
138
|
+
- "type0m": Double back-to-back exponentials ⊗ pseudo-Voigt (Z-Rietveld
|
|
139
|
+
type 0m)
|
|
140
|
+
|
|
141
|
+
| Feature | LIB | APP |
|
|
142
|
+
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | --- |
|
|
143
|
+
| Jorgensen (back-to-back exponentials ⊗ Gaussian)<br>_Gaussian broadening σ₀, σ₁, σ₂<br>Back-to-back exponential rise α₀, α₁. Back-to-back exponential decay β₀, β₁_<br>(CrysPy) | ✅ | ✅ |
|
|
144
|
+
| Jorgensen-Von Dreele (back-to-back exponentials ⊗ pseudo-Voigt)<br>_Gaussian broadening σ₀, σ₁, σ₂. Lorentzian broadening γ₀, γ₁, γ₂<br>Back-to-back exponential rise α₀, α₁. Back-to-back exponential decay β₀, β₁_<br>(CrysPy) | ✅ | ✅ |
|
|
145
|
+
| Double back-to-back exponentials ⊗ pseudo-Voigt [Z-Rietveld type0m]<br>_Gaussian broadening σ₀, σ₁, σ₂. Lorentzian broadening γ₀, γ₁, γ₂<br>Rise α₁, α₂. Fast decay β₀₀, β₀₁. Slow decay β₁₀. Switching r₀₁, r₀₂, r₀₃_<br>(CrysPy) | ✅ | 🗓 |
|
|
146
|
+
| Ikeda-Carpenter ⊗ pseudo-Voigt<br>_Moderator pulse α₀, α₁, β₀, κ<br>Gaussian broadening σ². Lorentzian broadening γ_<br>(CrysFML) | 🗓 | 🗓 |
|
|
147
|
+
|
|
148
|
+
| TOF profile | TOF source | Performance |
|
|
149
|
+
| ------------------------------------------------------------------- | ----------------------------------------------------------------- | ----------- |
|
|
150
|
+
| Jorgensen (back-to-back exponentials ⊗ Gaussian) | Simpler TOF profile, including reactor-source TOF implementations | Fast |
|
|
151
|
+
| Jorgensen-Von Dreele (back-to-back exponentials ⊗ pseudo-Voigt) | Spallation-source TOF | Slower |
|
|
152
|
+
| Double back-to-back exponentials ⊗ pseudo-Voigt (Z-Rietveld type0m) | Spallation-source TOF; more elaborate asymmetric profile | Slowest |
|
|
153
|
+
| Ikeda-Carpenter ⊗ pseudo-Voigt | Spallation-source TOF; moderator pulse shape model | Moderate |
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 2.1.2 Total Scattering (Pair Distribution Function)
|
|
158
|
+
|
|
159
|
+
### Peak Profile
|
|
160
|
+
|
|
161
|
+
| Feature | LIB | APP |
|
|
162
|
+
| ------------------------------------------------------------------------------------------------------ | --- | --- |
|
|
163
|
+
| GaussianDampedSinc type<br>_cutoff q. broadening q. sharpening δ₁, δ₂<br>damping q, particle diameter_ | ✅ | 🗓 |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 2.2 Single Crystal Diffraction
|
|
168
|
+
|
|
169
|
+
### Extinction
|
|
170
|
+
|
|
171
|
+
CrysPy's extinction is an analytical Becker-Coppens spherical model with
|
|
172
|
+
Gauss or Lorentz mosaicity distribution
|
|
173
|
+
|
|
174
|
+
| Feature | LIB | APP |
|
|
175
|
+
| ----------------------------------------------------- | --- | --- |
|
|
176
|
+
| Becker-Coppens, Gaussian model: _radius, mosaicity_ | ✅ | ✅ |
|
|
177
|
+
| Becker-Coppens, Lorentzian model: _radius, mosaicity_ | ✅ | ✅ |
|
|
178
|
+
| Anisotropic extinction correction | 🗓 | 🗓 |
|
|
179
|
+
|
|
180
|
+
### Domains / Twinning
|
|
181
|
+
|
|
182
|
+
| Feature | LIB | APP |
|
|
183
|
+
| ------------------------------------------------- | --- | --- |
|
|
184
|
+
| Twinning / domains for single-crystal diffraction | 🗓 | 🗓 |
|
|
185
|
+
|
|
186
|
+
### Instrument — Constant Wavelength
|
|
187
|
+
|
|
188
|
+
| Feature | LIB | APP |
|
|
189
|
+
| --------------------- | --- | --- |
|
|
190
|
+
| Wavelength | ✅ | ✅ |
|
|
191
|
+
| Half wavelength (λ/2) | 🗓 | 🗓 |
|
|
192
|
+
|
|
193
|
+
### Instrument — Time-of-Flight
|
|
194
|
+
|
|
195
|
+
| Feature | LIB | APP |
|
|
196
|
+
| ------------------------------------ | --- | --- |
|
|
197
|
+
| Individual wavelength per reflection | ✅ | 🗓 |
|
|
198
|
+
|
|
199
|
+
## 2.3. Polarized Neutron Diffraction
|
|
200
|
+
|
|
201
|
+
| Feature | LIB | APP |
|
|
202
|
+
| ---------------------------------------------- | --- | --- |
|
|
203
|
+
| EPIC (powders and single crystals, FR and SNP) | 🗓 | 🗓 |
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
# 3. Multi-Dataset Support
|
|
208
|
+
|
|
209
|
+
| Feature | LIB | APP |
|
|
210
|
+
| --------------------------------- | --- | --- |
|
|
211
|
+
| Multiple structural data blocks | ✅ | ✅ |
|
|
212
|
+
| Multiple experimental data blocks | ✅ | 🗓 |
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
# 4. Analysis (Fitting)
|
|
217
|
+
|
|
218
|
+
### Refinement Algorithms
|
|
219
|
+
|
|
220
|
+
| Feature | LIB | APP |
|
|
221
|
+
| --------------------------------------------------------------- | --- | --- |
|
|
222
|
+
| Levenberg–Marquardt (numerical derivatives)<br>LMFIT minimizer | ✅ | ✅ |
|
|
223
|
+
| Levenberg–Marquardt (analytical derivatives)<br>LMFIT minimizer | 🗓 | 🗓 |
|
|
224
|
+
| Derivative-free minimization<br>DFO-LS minimizer | ✅ | ✅ |
|
|
225
|
+
| Bayesian analysis<br>BUMPS minimizer | 🗓 | 🗓 |
|
|
226
|
+
|
|
227
|
+
### Fit Strategies
|
|
228
|
+
|
|
229
|
+
| Feature | LIB | APP |
|
|
230
|
+
| ---------------------------------------------------------------------------------------------------- | --- | --- |
|
|
231
|
+
| Sequential fit of experimental data blocks | ✅ | 🗓 |
|
|
232
|
+
| Joint fit of experimental data blocks within the same calculation engine | ✅ | 🗓 |
|
|
233
|
+
| Joint fit of experimental data blocks using different calculation engines<br>(e.g. CrysPy + Pdffit2) | ✅ | 🗓 |
|
|
234
|
+
| Custom weighting for joint fit: _weight per dataset_ | ✅ | 🗓 |
|
|
235
|
+
|
|
236
|
+
### Live Fitting
|
|
237
|
+
|
|
238
|
+
| Feature | LIB | APP |
|
|
239
|
+
| ---------------------------------------------- | --- | --- |
|
|
240
|
+
| Live fitting during real-time data acquisition | 🗓 | 🗓 |
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
# 5. Refinement Execution
|
|
245
|
+
|
|
246
|
+
| Feature | LIB | APP | CLI |
|
|
247
|
+
| --------------------------------------------- | --- | --- | --- |
|
|
248
|
+
| Scripted refinement workflow | ✅ | — | — |
|
|
249
|
+
| GUI-driven refinement workflow | — | ✅ | — |
|
|
250
|
+
| Command-line refinement execution | — | — | ✅ |
|
|
251
|
+
| Parameter modification | ✅ | ✅ | — |
|
|
252
|
+
| Load individual structure or experiment files | ✅ | ✅ | — |
|
|
253
|
+
| Project-based refinement | ✅ | ✅ | ✅ |
|
|
254
|
+
| Save refinement results to project | ✅ | ✅ | ✅ |
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
# 6. Constraints
|
|
259
|
+
|
|
260
|
+
| Feature | LIB | APP |
|
|
261
|
+
| ------------------------------ | --- | ----- |
|
|
262
|
+
| Automatic symmetry constraints | ✅ | ✅/🗓 |
|
|
263
|
+
| User-defined constraints | ✅ | 🗓 |
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
# 7. Data Management
|
|
268
|
+
|
|
269
|
+
### Data Loading
|
|
270
|
+
|
|
271
|
+
| Feature | LIB | APP | CLI |
|
|
272
|
+
| ------------------------------- | --- | --- | --- |
|
|
273
|
+
| Load structure from CIF | ✅ | ✅ | — |
|
|
274
|
+
| Load experiment data from ASCII | ✅ | ✅ | — |
|
|
275
|
+
| Load experiment data from CIF | ✅ | ✅ | — |
|
|
276
|
+
|
|
277
|
+
### Project Files
|
|
278
|
+
|
|
279
|
+
| Feature | LIB | APP | CLI |
|
|
280
|
+
| ---------------------- | --- | --- | --- |
|
|
281
|
+
| Load project from disk | ✅ | ✅ | ✅ |
|
|
282
|
+
| Save project to disk | ✅ | ✅ | ✅ |
|
|
283
|
+
|
|
284
|
+
### SciCat Integration
|
|
285
|
+
|
|
286
|
+
| Feature | LIB | APP | CLI |
|
|
287
|
+
| ------------------------ | --- | --- | --- |
|
|
288
|
+
| Load project from SciCat | 🗓 | 🗓 | — |
|
|
289
|
+
| Save project to SciCat | 🗓 | 🗓 | — |
|
|
290
|
+
|
|
291
|
+
### External Resources
|
|
292
|
+
|
|
293
|
+
| Feature | LIB | APP | CLI |
|
|
294
|
+
| --------------------------------- | --- | --- | --- |
|
|
295
|
+
| List available tutorial notebooks | — | — | ✅ |
|
|
296
|
+
| Download tutorial notebooks | — | — | ✅ |
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
# 8. Visualization
|
|
301
|
+
|
|
302
|
+
## 8.1. Sample Model
|
|
303
|
+
|
|
304
|
+
### Crystal Structure
|
|
305
|
+
|
|
306
|
+
| Feature | LIB | APP |
|
|
307
|
+
| ---------------------------------------- | --- | --- |
|
|
308
|
+
| Visualize unit cell | 🗓 | ✅ |
|
|
309
|
+
| Visualize multiple unit cells | 🗓 | 🗓 |
|
|
310
|
+
| Visualize atom sites as spheres | 🗓 | ✅ |
|
|
311
|
+
| Visualize atoms occupied same position | 🗓 | 🗓 |
|
|
312
|
+
| Visualize bonds | 🗓 | 🗓 |
|
|
313
|
+
| Visualize polyhedra | 🗓 | 🗓 |
|
|
314
|
+
| Interactive mode<br>3D rotation, zooming | 🗓 | ✅ |
|
|
315
|
+
| Orthogonal unit cell | 🗓 | ✅ |
|
|
316
|
+
| Non-orthogonal unit cell | 🗓 | 🗓 |
|
|
317
|
+
|
|
318
|
+
### Magnetic Structure
|
|
319
|
+
|
|
320
|
+
| Feature | LIB | APP |
|
|
321
|
+
| ------------------------------------ | --- | --- |
|
|
322
|
+
| Visualize magnetic moments as arrows | 🗓 | 🗓 |
|
|
323
|
+
|
|
324
|
+
## 8.2. Experiment
|
|
325
|
+
|
|
326
|
+
### Powder Diffraction
|
|
327
|
+
|
|
328
|
+
| Feature | LIB | APP | CLI |
|
|
329
|
+
| ------------------------------------ | -------- | --- | --- |
|
|
330
|
+
| Plot experimental curve | ✅ | ✅ | ✅ |
|
|
331
|
+
| Plot calculated curve | ✅ | ✅ | ✅ |
|
|
332
|
+
| Plot residual curve | ✅ | ✅ | ✅ |
|
|
333
|
+
| Plot Bragg peaks | 🗓`high` | ✅ | — |
|
|
334
|
+
| Interactive mode<br>zooming, panning | ✅ | ✅ | — |
|
|
335
|
+
|
|
336
|
+
### Single Crystal Diffraction
|
|
337
|
+
|
|
338
|
+
| Feature | LIB | APP | CLI |
|
|
339
|
+
| ------------------------------------ | --- | --- | --- |
|
|
340
|
+
| Plot obs vs calc for reflections | ✅ | ✅ | ✅ |
|
|
341
|
+
| Interactive mode<br>zooming, panning | ✅ | ✅ | — |
|
|
342
|
+
|
|
343
|
+
## 8.3. Analysis
|
|
344
|
+
|
|
345
|
+
| Feature | LIB | APP | CLI |
|
|
346
|
+
| ---------------------------------------------------- | ----- | --- | --- |
|
|
347
|
+
| Live update of plots on parameter change with slider | — | ✅ | — |
|
|
348
|
+
| Live update of plots during refinement | — | ✅ | — |
|
|
349
|
+
| Parameter evolution (sequential refinement) | ✅/🗓 | 🗓 | — |
|
|
350
|
+
|
|
351
|
+
### Fitting
|
|
352
|
+
|
|
353
|
+
| Feature | LIB | APP | CLI |
|
|
354
|
+
| ----------------------------------------- | --- | --- | --- |
|
|
355
|
+
| Live update of plots | — | ✅ | — |
|
|
356
|
+
| Live update of fit quality (change in χ²) | ✅ | ✅ | ✅ |
|
|
357
|
+
| Plot correlation between parameters | ✅ | 🗓 | ✅ |
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
# 9. User documentation
|
|
362
|
+
|
|
363
|
+
| Feature | LIB | APP |
|
|
364
|
+
| ----------------------------------- | --- | ----- |
|
|
365
|
+
| New unified documentation structure | ✅ | 🗓 |
|
|
366
|
+
| Introduction | ✅ | ✅/🗓 |
|
|
367
|
+
| Installation and setup guide | ✅ | ✅/🗓 |
|
|
368
|
+
| User guide | ✅ | ✅/🗓 |
|
|
369
|
+
| Tutorials | ✅ | 🗓 |
|
|
370
|
+
| API reference | ✅ | — |
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
# 10. Future Topics
|
|
375
|
+
|
|
376
|
+
Here, we list features that are not sorted into the above categories,
|
|
377
|
+
but are still on our radar for future development.
|
|
378
|
+
|
|
379
|
+
- Restrains (soft constraints, e.g. bond lengths, angles)
|
|
380
|
+
- Global optimization algorithms (e.g. simulated annealing)
|
|
381
|
+
- Incommensurate structures
|
|
382
|
+
- 2D Rietveld refinement
|