easydiffraction 0.16.0__tar.gz β 0.17.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.17.0/.codecov.yml +26 -0
- easydiffraction-0.17.0/.copier-answers.yml +26 -0
- easydiffraction-0.17.0/.github/actions/setup-pixi/action.yml +44 -0
- easydiffraction-0.17.0/.github/copilot-instructions.md +224 -0
- easydiffraction-0.17.0/.github/workflows/coverage.yml +94 -0
- easydiffraction-0.17.0/.github/workflows/dashboard.yml +115 -0
- easydiffraction-0.17.0/.github/workflows/docs.yml +188 -0
- easydiffraction-0.17.0/.github/workflows/issues-labels.yml +40 -0
- easydiffraction-0.17.0/.github/workflows/pr-labels.yml +45 -0
- easydiffraction-0.17.0/.github/workflows/release-pr.yml +55 -0
- easydiffraction-0.17.0/.github/workflows/test.yml +321 -0
- easydiffraction-0.17.0/.gitignore +53 -0
- easydiffraction-0.17.0/CONTRIBUTING.md +452 -0
- easydiffraction-0.17.0/PKG-INFO +135 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/analysis-cif-fit-state.md +193 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/category-owner-sections.md +206 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/category-parameter-access.md +44 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/development-docs-structure.md +66 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/display-ux.md +244 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/enum-backed-closed-values.md +34 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/factory-contracts.md +44 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/factory-tag-naming.md +48 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/fit-mode-categories.md +781 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/free-flag-cif-encoding.md +39 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/guarded-public-properties.md +44 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/help-discoverability.md +65 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/immutable-experiment-type.md +35 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/lint-complexity-thresholds.md +33 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/loop-category-key-identity.md +163 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/notebook-generation.md +34 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/parameter-correlation-persistence.md +104 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/project-facade-and-persistence.md +80 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/property-docstring-template.md +39 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/runtime-fit-results.md +36 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/selector-families.md +40 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/string-paths-and-live-descriptors.md +45 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/switchable-category-api.md +45 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/test-strategy.md +41 -0
- easydiffraction-0.17.0/docs/dev/adrs/accepted/type-neutral-adp-parameters.md +42 -0
- easydiffraction-0.17.0/docs/dev/adrs/index.md +46 -0
- easydiffraction-0.17.0/docs/dev/adrs/suggestions/fit-output-files-and-data-exports.md +172 -0
- easydiffraction-0.17.0/docs/dev/adrs/suggestions/parameter-posterior-summary.md +337 -0
- easydiffraction-0.17.0/docs/dev/adrs/suggestions/python-cif-category-correspondence.md +338 -0
- easydiffraction-0.17.0/docs/dev/adrs/suggestions/undo-fit.md +126 -0
- easydiffraction-0.17.0/docs/dev/benchmarking/20260519-103251_darwin-arm64_py314_tutorial-benchmarks.csv +24 -0
- easydiffraction-0.17.0/docs/dev/benchmarking/20260519-103500_darwin-arm64_py314_tutorial-benchmarks.csv +24 -0
- easydiffraction-0.17.0/docs/dev/benchmarking/20260519-121524_darwin-arm64_py314_tutorial-benchmarks.csv +24 -0
- easydiffraction-0.17.0/docs/dev/index.md +29 -0
- easydiffraction-0.17.0/docs/dev/issues/closed.md +161 -0
- easydiffraction-0.17.0/docs/dev/issues/open.md +1786 -0
- easydiffraction-0.17.0/docs/dev/package-structure/full.md +570 -0
- easydiffraction-0.17.0/docs/dev/package-structure/short.md +292 -0
- easydiffraction-0.17.0/docs/docs/cli/index.md +159 -0
- easydiffraction-0.17.0/docs/docs/installation-and-setup/index.md +300 -0
- easydiffraction-0.17.0/docs/docs/quick-reference/index.md +430 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-1.ipynb +283 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-1.py +110 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-10.ipynb +242 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-10.py +92 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-11.ipynb +273 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-11.py +104 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-12.ipynb +313 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-12.py +123 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-13.ipynb +2667 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-13.py +1508 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-14.ipynb +451 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-14.py +159 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-15.ipynb +421 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-15.py +136 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-16.ipynb +615 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-16.py +251 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-17.ipynb +851 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-17.py +397 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-18.ipynb +161 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-18.py +49 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-2.ipynb +551 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-2.py +235 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-20.ipynb +816 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-20.py +381 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-21.ipynb +763 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-21.py +356 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-22.ipynb +607 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-22.py +269 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-23.ipynb +236 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-23.py +90 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-24.ipynb +223 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-24.py +82 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-3.ipynb +1600 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-3.py +637 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-4.ipynb +713 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-4.py +321 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-5.ipynb +664 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-5.py +300 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-6.ipynb +848 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-6.py +350 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-7.ipynb +922 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-7.py +352 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-8.ipynb +732 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-8.py +367 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-9.ipynb +695 -0
- easydiffraction-0.17.0/docs/docs/tutorials/ed-9.py +304 -0
- easydiffraction-0.17.0/docs/docs/tutorials/index.json +149 -0
- easydiffraction-0.17.0/docs/docs/tutorials/index.md +132 -0
- easydiffraction-0.17.0/docs/docs/user-guide/analysis-workflow/analysis.md +376 -0
- easydiffraction-0.17.0/docs/docs/user-guide/analysis-workflow/project.md +279 -0
- easydiffraction-0.17.0/docs/docs/user-guide/first-steps.md +189 -0
- easydiffraction-0.17.0/docs/mkdocs.yml +243 -0
- easydiffraction-0.17.0/pixi.lock +13107 -0
- easydiffraction-0.17.0/pixi.toml +298 -0
- easydiffraction-0.17.0/pyproject.toml +413 -0
- easydiffraction-0.17.0/src/easydiffraction/__init__.py +19 -0
- easydiffraction-0.17.0/src/easydiffraction/__main__.py +245 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/__init__.py +68 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/analysis.py +2116 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/calculators/cryspy.py +1239 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/__init__.py +46 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/aliases/default.py +143 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_convergence/__init__.py +7 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_convergence/default.py +121 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_convergence/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_distribution_caches/__init__.py +12 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_distribution_caches/default.py +151 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_distribution_caches/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_pair_caches/__init__.py +8 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_pair_caches/default.py +267 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_pair_caches/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_parameter_posteriors/__init__.py +12 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_parameter_posteriors/default.py +242 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_parameter_posteriors/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_predictive_datasets/__init__.py +12 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_predictive_datasets/default.py +260 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_predictive_datasets/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_result/__init__.py +5 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_result/default.py +215 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_result/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_sampler/__init__.py +5 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_sampler/default.py +133 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/bayesian_sampler/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/constraints/default.py +188 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/deterministic_result/__init__.py +7 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/deterministic_result/default.py +187 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/deterministic_result/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fit_parameter_correlations/__init__.py +12 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fit_parameter_correlations/default.py +184 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fit_parameter_correlations/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fit_parameters/__init__.py +6 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fit_parameters/default.py +177 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fit_parameters/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fit_result/__init__.py +5 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fit_result/default.py +135 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fit_result/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fitting/__init__.py +5 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fitting/default.py +125 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/fitting/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/joint_fit/__init__.py +8 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/joint_fit/default.py +94 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/joint_fit/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/sequential_fit/__init__.py +7 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/sequential_fit/default.py +124 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/sequential_fit/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/sequential_fit_extract/__init__.py +14 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/sequential_fit_extract/default.py +162 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/categories/sequential_fit_extract/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/enums.py +54 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/fit_helpers/__init__.py +8 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/fit_helpers/bayesian.py +777 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/fit_helpers/reporting.py +278 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/fit_helpers/tracking.py +756 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/fitting.py +351 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/minimizers/__init__.py +13 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/minimizers/base.py +424 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/minimizers/bumps.py +481 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/minimizers/bumps_dream.py +1025 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/minimizers/enums.py +62 -0
- easydiffraction-0.17.0/src/easydiffraction/analysis/sequential.py +1337 -0
- easydiffraction-0.17.0/src/easydiffraction/core/__init__.py +4 -0
- easydiffraction-0.17.0/src/easydiffraction/core/category.py +276 -0
- easydiffraction-0.17.0/src/easydiffraction/core/category_owner.py +76 -0
- easydiffraction-0.17.0/src/easydiffraction/core/collection.py +183 -0
- easydiffraction-0.17.0/src/easydiffraction/core/datablock.py +131 -0
- easydiffraction-0.17.0/src/easydiffraction/core/guard.py +270 -0
- easydiffraction-0.17.0/src/easydiffraction/core/identity.py +85 -0
- easydiffraction-0.17.0/src/easydiffraction/core/singleton.py +139 -0
- easydiffraction-0.17.0/src/easydiffraction/core/validation.py +344 -0
- easydiffraction-0.17.0/src/easydiffraction/core/variable.py +676 -0
- easydiffraction-0.17.0/src/easydiffraction/crystallography/crystallography.py +651 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/background/chebyshev.py +186 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/background/line_segment.py +191 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/calculation/default.py +106 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/data/bragg_pd.py +706 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/data/total_pd.py +379 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/diffrn/default.py +136 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/excluded_regions/default.py +179 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/experiment_type/default.py +142 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/extinction/becker_coppens.py +133 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/instrument/base.py +27 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/linked_crystal/default.py +89 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/linked_phases/default.py +99 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/peak/base.py +40 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories/refln/bragg_sc.py +438 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/collection.py +155 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/default.py +241 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/structure/categories/atom_sites/default.py +691 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/structure/categories/cell/default.py +243 -0
- easydiffraction-0.17.0/src/easydiffraction/datablocks/structure/categories/space_group/default.py +163 -0
- easydiffraction-0.17.0/src/easydiffraction/display/plotters/ascii.py +336 -0
- easydiffraction-0.17.0/src/easydiffraction/display/plotters/base.py +371 -0
- easydiffraction-0.17.0/src/easydiffraction/display/plotters/plotly.py +1857 -0
- easydiffraction-0.17.0/src/easydiffraction/display/plotting.py +5973 -0
- easydiffraction-0.17.0/src/easydiffraction/display/progress.py +491 -0
- easydiffraction-0.17.0/src/easydiffraction/display/tablers/base.py +149 -0
- easydiffraction-0.17.0/src/easydiffraction/display/tablers/pandas.py +278 -0
- easydiffraction-0.17.0/src/easydiffraction/display/tablers/rich.py +179 -0
- easydiffraction-0.17.0/src/easydiffraction/display/tables.py +164 -0
- easydiffraction-0.17.0/src/easydiffraction/io/ascii.py +271 -0
- easydiffraction-0.17.0/src/easydiffraction/io/cif/serialize.py +1006 -0
- easydiffraction-0.17.0/src/easydiffraction/io/results_sidecar.py +652 -0
- easydiffraction-0.17.0/src/easydiffraction/project/categories/info/__init__.py +8 -0
- easydiffraction-0.17.0/src/easydiffraction/project/categories/info/default.py +175 -0
- easydiffraction-0.17.0/src/easydiffraction/project/categories/info/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/project/categories/rendering/__init__.py +8 -0
- easydiffraction-0.17.0/src/easydiffraction/project/categories/rendering/default.py +165 -0
- easydiffraction-0.17.0/src/easydiffraction/project/categories/rendering/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/project/categories/verbosity/__init__.py +8 -0
- easydiffraction-0.17.0/src/easydiffraction/project/categories/verbosity/default.py +55 -0
- easydiffraction-0.17.0/src/easydiffraction/project/categories/verbosity/factory.py +17 -0
- easydiffraction-0.17.0/src/easydiffraction/project/display.py +849 -0
- easydiffraction-0.17.0/src/easydiffraction/project/project.py +621 -0
- easydiffraction-0.17.0/src/easydiffraction/project/project_config.py +55 -0
- easydiffraction-0.17.0/src/easydiffraction/project/project_info.py +9 -0
- easydiffraction-0.17.0/src/easydiffraction/summary/summary.py +245 -0
- easydiffraction-0.17.0/src/easydiffraction/utils/environment.py +261 -0
- easydiffraction-0.17.0/src/easydiffraction/utils/logging.py +733 -0
- easydiffraction-0.17.0/src/easydiffraction/utils/utils.py +975 -0
- easydiffraction-0.17.0/tests/functional/test_fitting_workflow.py +189 -0
- easydiffraction-0.17.0/tests/functional/test_project_lifecycle.py +118 -0
- easydiffraction-0.17.0/tests/functional/test_structure_workflow.py +239 -0
- easydiffraction-0.17.0/tests/functional/test_switchable_categories.py +65 -0
- easydiffraction-0.17.0/tests/integration/fitting/conftest.py +90 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_analysis_and_fit_category_support.py +338 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_analysis_display.py +76 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_aniso_adp_fitting.py +106 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_bayesian_dream.py +197 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_bayesian_helper_support.py +670 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_bayesian_tracker_and_base.py +511 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_bumps_dream_support.py +711 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_cli_entrypoints.py +182 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_exploration_help.py +169 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_multi.py +236 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_plotting.py +29 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_powder-diffraction_constant-wavelength.py +536 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_powder-diffraction_joint-fit.py +323 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_powder-diffraction_time-of-flight.py +225 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_project_load.py +254 -0
- easydiffraction-0.17.0/tests/integration/fitting/test_sequential.py +398 -0
- easydiffraction-0.17.0/tests/integration/scipp-analysis/dream/test_package_import.py +59 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/calculators/test_cryspy.py +204 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/fitting/test_default.py +37 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/fitting/test_factory.py +24 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/sequential_fit/test_default.py +35 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/sequential_fit/test_factory.py +24 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/sequential_fit_extract/test_default.py +66 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/sequential_fit_extract/test_factory.py +32 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_bayesian_convergence.py +17 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_bayesian_distribution_caches.py +17 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_bayesian_pair_caches.py +15 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_bayesian_parameter_posteriors.py +17 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_bayesian_predictive_datasets.py +17 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_bayesian_result.py +13 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_bayesian_sampler.py +13 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_constraints.py +63 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_deterministic_result.py +17 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_fit.py +85 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_fit_parameter_correlations.py +17 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_fit_parameters.py +13 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_fit_result.py +13 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_fit_state.py +207 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/categories/test_joint_fit_experiments.py +17 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/fit_helpers/test_bayesian.py +385 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/fit_helpers/test_reporting.py +127 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/fit_helpers/test_tracking.py +126 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/minimizers/test_base.py +291 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/minimizers/test_bumps.py +548 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/minimizers/test_bumps_dream.py +384 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/minimizers/test_dfols.py +69 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/minimizers/test_enums.py +39 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/minimizers/test_factory.py +87 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/minimizers/test_lmfit.py +114 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/test_analysis.py +301 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/test_analysis_access_params.py +297 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/test_analysis_coverage.py +306 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/test_enums.py +36 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/test_fitting.py +285 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/analysis/test_sequential.py +728 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/core/test_category.py +255 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/core/test_category_owner.py +134 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/core/test_datablock.py +195 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/core/test_parameters.py +241 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/crystallography/test_crystallography_coverage.py +156 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/crystallography/test_crystallography_wyckoff.py +86 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_bragg_pd.py +169 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_total_pd.py +116 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/datablocks/experiment/categories/refln/test_bragg_sc.py +110 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/display/plotters/test_ascii.py +308 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/display/plotters/test_plotly.py +970 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/display/tablers/test_pandas.py +47 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/display/tablers/test_rich.py +44 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/display/test_plotting.py +2470 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/display/test_plotting_coverage.py +573 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/display/test_progress.py +315 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/display/test_tables.py +90 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/io/cif/test_serialize.py +124 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/io/cif/test_serialize_category_owner_baseline.py +98 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/io/cif/test_serialize_more.py +202 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/io/test_ascii.py +298 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/io/test_results_sidecar.py +138 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/categories/info/test_default.py +63 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/categories/info/test_factory.py +32 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/categories/rendering/test_default.py +69 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/categories/rendering/test_factory.py +23 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/categories/verbosity/test_default.py +44 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/categories/verbosity/test_factory.py +25 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/test_display.py +668 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/test_project.py +123 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/test_project_config.py +129 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/test_project_load.py +318 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/project/test_project_save.py +123 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/summary/test_summary.py +73 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/summary/test_summary_details.py +168 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/test___main__.py +260 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/utils/test_environment.py +127 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/utils/test_utils.py +393 -0
- easydiffraction-0.17.0/tests/unit/easydiffraction/utils/test_utils_coverage.py +504 -0
- easydiffraction-0.17.0/tests/unit/test_benchmark_tutorials.py +133 -0
- easydiffraction-0.17.0/tools/benchmark_tutorials.py +216 -0
- easydiffraction-0.17.0/tools/generate_package_docs.py +172 -0
- easydiffraction-0.17.0/tools/param_consistency.py +680 -0
- easydiffraction-0.16.0/.copier-answers.yml +0 -26
- easydiffraction-0.16.0/.github/actions/setup-pixi/action.yml +0 -44
- easydiffraction-0.16.0/.github/copilot-instructions.md +0 -193
- easydiffraction-0.16.0/.github/workflows/coverage.yml +0 -96
- easydiffraction-0.16.0/.github/workflows/dashboard.yml +0 -111
- easydiffraction-0.16.0/.github/workflows/docs.yml +0 -184
- easydiffraction-0.16.0/.github/workflows/issues-labels.yml +0 -51
- easydiffraction-0.16.0/.github/workflows/pr-labels.yml +0 -56
- easydiffraction-0.16.0/.github/workflows/release-pr.yml +0 -55
- easydiffraction-0.16.0/.github/workflows/test.yml +0 -321
- easydiffraction-0.16.0/.gitignore +0 -52
- easydiffraction-0.16.0/CONTRIBUTING.md +0 -446
- easydiffraction-0.16.0/PKG-INFO +0 -136
- easydiffraction-0.16.0/codecov.yml +0 -13
- easydiffraction-0.16.0/docs/architecture/package-structure-full.md +0 -425
- easydiffraction-0.16.0/docs/architecture/package-structure-short.md +0 -224
- easydiffraction-0.16.0/docs/dev/adp_implementation.md +0 -321
- easydiffraction-0.16.0/docs/dev/architecture.md +0 -1442
- easydiffraction-0.16.0/docs/dev/cryspy-dwf-bug.md +0 -126
- easydiffraction-0.16.0/docs/dev/issues_closed.md +0 -135
- easydiffraction-0.16.0/docs/dev/issues_open.md +0 -1548
- easydiffraction-0.16.0/docs/dev/package-structure-full.md +0 -412
- easydiffraction-0.16.0/docs/dev/package-structure-short.md +0 -220
- easydiffraction-0.16.0/docs/dev/plan_powder-chart-y-range.md +0 -138
- easydiffraction-0.16.0/docs/docs/cli/index.md +0 -90
- easydiffraction-0.16.0/docs/docs/installation-and-setup/index.md +0 -297
- easydiffraction-0.16.0/docs/docs/tutorials/ed-1.ipynb +0 -283
- easydiffraction-0.16.0/docs/docs/tutorials/ed-1.py +0 -110
- easydiffraction-0.16.0/docs/docs/tutorials/ed-10.ipynb +0 -242
- easydiffraction-0.16.0/docs/docs/tutorials/ed-10.py +0 -92
- easydiffraction-0.16.0/docs/docs/tutorials/ed-11.ipynb +0 -273
- easydiffraction-0.16.0/docs/docs/tutorials/ed-11.py +0 -104
- easydiffraction-0.16.0/docs/docs/tutorials/ed-12.ipynb +0 -313
- easydiffraction-0.16.0/docs/docs/tutorials/ed-12.py +0 -123
- easydiffraction-0.16.0/docs/docs/tutorials/ed-13.ipynb +0 -2675
- easydiffraction-0.16.0/docs/docs/tutorials/ed-13.py +0 -1516
- easydiffraction-0.16.0/docs/docs/tutorials/ed-14.ipynb +0 -451
- easydiffraction-0.16.0/docs/docs/tutorials/ed-14.py +0 -159
- easydiffraction-0.16.0/docs/docs/tutorials/ed-15.ipynb +0 -410
- easydiffraction-0.16.0/docs/docs/tutorials/ed-15.py +0 -132
- easydiffraction-0.16.0/docs/docs/tutorials/ed-16.ipynb +0 -615
- easydiffraction-0.16.0/docs/docs/tutorials/ed-16.py +0 -251
- easydiffraction-0.16.0/docs/docs/tutorials/ed-17.ipynb +0 -828
- easydiffraction-0.16.0/docs/docs/tutorials/ed-17.py +0 -406
- easydiffraction-0.16.0/docs/docs/tutorials/ed-18.ipynb +0 -180
- easydiffraction-0.16.0/docs/docs/tutorials/ed-18.py +0 -56
- easydiffraction-0.16.0/docs/docs/tutorials/ed-2.ipynb +0 -533
- easydiffraction-0.16.0/docs/docs/tutorials/ed-2.py +0 -229
- easydiffraction-0.16.0/docs/docs/tutorials/ed-20.ipynb +0 -816
- easydiffraction-0.16.0/docs/docs/tutorials/ed-20.py +0 -381
- easydiffraction-0.16.0/docs/docs/tutorials/ed-3.ipynb +0 -1654
- easydiffraction-0.16.0/docs/docs/tutorials/ed-3.py +0 -655
- easydiffraction-0.16.0/docs/docs/tutorials/ed-4.ipynb +0 -713
- easydiffraction-0.16.0/docs/docs/tutorials/ed-4.py +0 -321
- easydiffraction-0.16.0/docs/docs/tutorials/ed-5.ipynb +0 -664
- easydiffraction-0.16.0/docs/docs/tutorials/ed-5.py +0 -300
- easydiffraction-0.16.0/docs/docs/tutorials/ed-6.ipynb +0 -848
- easydiffraction-0.16.0/docs/docs/tutorials/ed-6.py +0 -350
- easydiffraction-0.16.0/docs/docs/tutorials/ed-7.ipynb +0 -922
- easydiffraction-0.16.0/docs/docs/tutorials/ed-7.py +0 -352
- easydiffraction-0.16.0/docs/docs/tutorials/ed-8.ipynb +0 -732
- easydiffraction-0.16.0/docs/docs/tutorials/ed-8.py +0 -367
- easydiffraction-0.16.0/docs/docs/tutorials/ed-9.ipynb +0 -695
- easydiffraction-0.16.0/docs/docs/tutorials/ed-9.py +0 -304
- easydiffraction-0.16.0/docs/docs/tutorials/index.json +0 -135
- easydiffraction-0.16.0/docs/docs/tutorials/index.md +0 -107
- easydiffraction-0.16.0/docs/docs/user-guide/analysis-workflow/analysis.md +0 -376
- easydiffraction-0.16.0/docs/docs/user-guide/analysis-workflow/project.md +0 -271
- easydiffraction-0.16.0/docs/docs/user-guide/first-steps.md +0 -190
- easydiffraction-0.16.0/docs/mkdocs.yml +0 -233
- easydiffraction-0.16.0/pixi.lock +0 -12092
- easydiffraction-0.16.0/pixi.toml +0 -294
- easydiffraction-0.16.0/pyproject.toml +0 -414
- easydiffraction-0.16.0/src/easydiffraction/__init__.py +0 -18
- easydiffraction-0.16.0/src/easydiffraction/__main__.py +0 -110
- easydiffraction-0.16.0/src/easydiffraction/analysis/__init__.py +0 -2
- easydiffraction-0.16.0/src/easydiffraction/analysis/analysis.py +0 -885
- easydiffraction-0.16.0/src/easydiffraction/analysis/calculators/cryspy.py +0 -1233
- easydiffraction-0.16.0/src/easydiffraction/analysis/categories/aliases/default.py +0 -143
- easydiffraction-0.16.0/src/easydiffraction/analysis/categories/constraints/default.py +0 -134
- easydiffraction-0.16.0/src/easydiffraction/analysis/categories/fit/__init__.py +0 -6
- easydiffraction-0.16.0/src/easydiffraction/analysis/categories/fit/default.py +0 -200
- easydiffraction-0.16.0/src/easydiffraction/analysis/categories/fit/enums.py +0 -30
- easydiffraction-0.16.0/src/easydiffraction/analysis/categories/fit/factory.py +0 -17
- easydiffraction-0.16.0/src/easydiffraction/analysis/categories/joint_fit_experiments/__init__.py +0 -5
- easydiffraction-0.16.0/src/easydiffraction/analysis/categories/joint_fit_experiments/default.py +0 -100
- easydiffraction-0.16.0/src/easydiffraction/analysis/categories/joint_fit_experiments/factory.py +0 -17
- easydiffraction-0.16.0/src/easydiffraction/analysis/fit_helpers/reporting.py +0 -250
- easydiffraction-0.16.0/src/easydiffraction/analysis/fit_helpers/tracking.py +0 -290
- easydiffraction-0.16.0/src/easydiffraction/analysis/fitting.py +0 -242
- easydiffraction-0.16.0/src/easydiffraction/analysis/minimizers/__init__.py +0 -11
- easydiffraction-0.16.0/src/easydiffraction/analysis/minimizers/base.py +0 -311
- easydiffraction-0.16.0/src/easydiffraction/analysis/minimizers/bumps.py +0 -266
- easydiffraction-0.16.0/src/easydiffraction/analysis/minimizers/enums.py +0 -51
- easydiffraction-0.16.0/src/easydiffraction/analysis/sequential.py +0 -886
- easydiffraction-0.16.0/src/easydiffraction/core/category.py +0 -258
- easydiffraction-0.16.0/src/easydiffraction/core/collection.py +0 -170
- easydiffraction-0.16.0/src/easydiffraction/core/datablock.py +0 -203
- easydiffraction-0.16.0/src/easydiffraction/core/guard.py +0 -238
- easydiffraction-0.16.0/src/easydiffraction/core/identity.py +0 -78
- easydiffraction-0.16.0/src/easydiffraction/core/singleton.py +0 -139
- easydiffraction-0.16.0/src/easydiffraction/core/validation.py +0 -342
- easydiffraction-0.16.0/src/easydiffraction/core/variable.py +0 -509
- easydiffraction-0.16.0/src/easydiffraction/crystallography/crystallography.py +0 -651
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/background/chebyshev.py +0 -186
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/background/line_segment.py +0 -191
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/calculation/default.py +0 -106
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/data/bragg_pd.py +0 -704
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/data/total_pd.py +0 -379
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/diffrn/default.py +0 -136
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/excluded_regions/default.py +0 -178
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/experiment_type/default.py +0 -142
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/extinction/becker_coppens.py +0 -133
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/instrument/base.py +0 -26
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/linked_crystal/default.py +0 -89
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/linked_phases/default.py +0 -99
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/peak/base.py +0 -39
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/refln/bragg_sc.py +0 -438
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/collection.py +0 -155
- easydiffraction-0.16.0/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/default.py +0 -241
- easydiffraction-0.16.0/src/easydiffraction/datablocks/structure/categories/atom_sites/default.py +0 -691
- easydiffraction-0.16.0/src/easydiffraction/datablocks/structure/categories/cell/default.py +0 -243
- easydiffraction-0.16.0/src/easydiffraction/datablocks/structure/categories/space_group/default.py +0 -163
- easydiffraction-0.16.0/src/easydiffraction/display/plotters/ascii.py +0 -237
- easydiffraction-0.16.0/src/easydiffraction/display/plotters/base.py +0 -354
- easydiffraction-0.16.0/src/easydiffraction/display/plotters/plotly.py +0 -1464
- easydiffraction-0.16.0/src/easydiffraction/display/plotting.py +0 -1682
- easydiffraction-0.16.0/src/easydiffraction/display/tablers/base.py +0 -126
- easydiffraction-0.16.0/src/easydiffraction/display/tablers/pandas.py +0 -246
- easydiffraction-0.16.0/src/easydiffraction/display/tablers/rich.py +0 -177
- easydiffraction-0.16.0/src/easydiffraction/display/tables.py +0 -134
- easydiffraction-0.16.0/src/easydiffraction/io/ascii.py +0 -260
- easydiffraction-0.16.0/src/easydiffraction/io/cif/serialize.py +0 -734
- easydiffraction-0.16.0/src/easydiffraction/project/categories/display/__init__.py +0 -8
- easydiffraction-0.16.0/src/easydiffraction/project/categories/display/default.py +0 -117
- easydiffraction-0.16.0/src/easydiffraction/project/categories/display/factory.py +0 -17
- easydiffraction-0.16.0/src/easydiffraction/project/project.py +0 -471
- easydiffraction-0.16.0/src/easydiffraction/project/project_info.py +0 -134
- easydiffraction-0.16.0/src/easydiffraction/summary/__init__.py +0 -2
- easydiffraction-0.16.0/src/easydiffraction/summary/summary.py +0 -240
- easydiffraction-0.16.0/src/easydiffraction/utils/environment.py +0 -167
- easydiffraction-0.16.0/src/easydiffraction/utils/logging.py +0 -733
- easydiffraction-0.16.0/src/easydiffraction/utils/utils.py +0 -772
- easydiffraction-0.16.0/tests/functional/test_fitting_workflow.py +0 -185
- easydiffraction-0.16.0/tests/functional/test_project_lifecycle.py +0 -118
- easydiffraction-0.16.0/tests/functional/test_structure_workflow.py +0 -239
- easydiffraction-0.16.0/tests/functional/test_switchable_categories.py +0 -65
- easydiffraction-0.16.0/tests/integration/fitting/conftest.py +0 -89
- easydiffraction-0.16.0/tests/integration/fitting/test_analysis_display.py +0 -76
- easydiffraction-0.16.0/tests/integration/fitting/test_aniso_adp_fitting.py +0 -105
- easydiffraction-0.16.0/tests/integration/fitting/test_exploration_help.py +0 -148
- easydiffraction-0.16.0/tests/integration/fitting/test_multi.py +0 -236
- easydiffraction-0.16.0/tests/integration/fitting/test_plotting.py +0 -29
- easydiffraction-0.16.0/tests/integration/fitting/test_powder-diffraction_constant-wavelength.py +0 -536
- easydiffraction-0.16.0/tests/integration/fitting/test_powder-diffraction_joint-fit.py +0 -323
- easydiffraction-0.16.0/tests/integration/fitting/test_powder-diffraction_time-of-flight.py +0 -225
- easydiffraction-0.16.0/tests/integration/fitting/test_project_load.py +0 -246
- easydiffraction-0.16.0/tests/integration/fitting/test_sequential.py +0 -369
- easydiffraction-0.16.0/tests/integration/scipp-analysis/dream/test_package_import.py +0 -78
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/calculators/test_cryspy.py +0 -175
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/categories/test_constraints.py +0 -16
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/categories/test_fit.py +0 -92
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/categories/test_joint_fit_experiments.py +0 -17
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/fit_helpers/test_reporting.py +0 -61
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/fit_helpers/test_tracking.py +0 -45
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/minimizers/test_base.py +0 -121
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/minimizers/test_bumps.py +0 -415
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/minimizers/test_dfols.py +0 -65
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/minimizers/test_enums.py +0 -32
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/minimizers/test_factory.py +0 -77
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/minimizers/test_lmfit.py +0 -79
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/test_analysis.py +0 -122
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/test_analysis_access_params.py +0 -84
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/test_analysis_coverage.py +0 -196
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/test_fitting.py +0 -103
- easydiffraction-0.16.0/tests/unit/easydiffraction/analysis/test_sequential.py +0 -302
- easydiffraction-0.16.0/tests/unit/easydiffraction/core/test_category.py +0 -102
- easydiffraction-0.16.0/tests/unit/easydiffraction/core/test_datablock.py +0 -136
- easydiffraction-0.16.0/tests/unit/easydiffraction/core/test_parameters.py +0 -157
- easydiffraction-0.16.0/tests/unit/easydiffraction/crystallography/test_crystallography_coverage.py +0 -152
- easydiffraction-0.16.0/tests/unit/easydiffraction/crystallography/test_crystallography_wyckoff.py +0 -86
- easydiffraction-0.16.0/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_bragg_pd.py +0 -144
- easydiffraction-0.16.0/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_total_pd.py +0 -91
- easydiffraction-0.16.0/tests/unit/easydiffraction/datablocks/experiment/categories/refln/test_bragg_sc.py +0 -81
- easydiffraction-0.16.0/tests/unit/easydiffraction/datablocks/structure/categories/__init__.py +0 -2
- easydiffraction-0.16.0/tests/unit/easydiffraction/display/plotters/test_ascii.py +0 -87
- easydiffraction-0.16.0/tests/unit/easydiffraction/display/plotters/test_plotly.py +0 -914
- easydiffraction-0.16.0/tests/unit/easydiffraction/display/tablers/__init__.py +0 -2
- easydiffraction-0.16.0/tests/unit/easydiffraction/display/tablers/test_pandas.py +0 -35
- easydiffraction-0.16.0/tests/unit/easydiffraction/display/tablers/test_rich.py +0 -44
- easydiffraction-0.16.0/tests/unit/easydiffraction/display/test_plotting.py +0 -940
- easydiffraction-0.16.0/tests/unit/easydiffraction/display/test_plotting_coverage.py +0 -537
- easydiffraction-0.16.0/tests/unit/easydiffraction/display/test_tables.py +0 -61
- easydiffraction-0.16.0/tests/unit/easydiffraction/io/cif/test_serialize.py +0 -124
- easydiffraction-0.16.0/tests/unit/easydiffraction/io/cif/test_serialize_more.py +0 -146
- easydiffraction-0.16.0/tests/unit/easydiffraction/io/test_ascii.py +0 -253
- easydiffraction-0.16.0/tests/unit/easydiffraction/project/categories/display/test_default.py +0 -55
- easydiffraction-0.16.0/tests/unit/easydiffraction/project/categories/display/test_factory.py +0 -23
- easydiffraction-0.16.0/tests/unit/easydiffraction/project/test_project.py +0 -51
- easydiffraction-0.16.0/tests/unit/easydiffraction/project/test_project_load.py +0 -153
- easydiffraction-0.16.0/tests/unit/easydiffraction/project/test_project_save.py +0 -40
- easydiffraction-0.16.0/tests/unit/easydiffraction/summary/test_summary.py +0 -58
- easydiffraction-0.16.0/tests/unit/easydiffraction/summary/test_summary_details.py +0 -168
- easydiffraction-0.16.0/tests/unit/easydiffraction/test___main__.py +0 -175
- easydiffraction-0.16.0/tests/unit/easydiffraction/utils/test_environment.py +0 -86
- easydiffraction-0.16.0/tests/unit/easydiffraction/utils/test_utils.py +0 -366
- easydiffraction-0.16.0/tests/unit/easydiffraction/utils/test_utils_coverage.py +0 -468
- easydiffraction-0.16.0/tools/generate_package_docs.py +0 -172
- easydiffraction-0.16.0/tools/param_consistency.py +0 -680
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.badgery.yaml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.codefactorignore +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/actions/download-artifact/action.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/actions/github-script/action.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/actions/setup-easyscience-bot/action.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/actions/upload-artifact/action.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/actions/upload-codecov/action.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/configs/pages-deployment.json +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/configs/rulesets-develop.json +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/configs/rulesets-gh-pages.json +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/configs/rulesets-master.json +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/scripts/backmerge-conflict-issue.js +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/scripts/publish-dashboard.sh +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/backmerge.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/cleanup.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/lint-format.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/pypi-publish.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/pypi-test.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/release-notes.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/security.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/test-trigger.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/tutorial-tests-colab.yaml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/tutorial-tests-trigger.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.github/workflows/tutorial-tests.yml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.pre-commit-config.yaml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/.prettierignore +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/LICENSE +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/README.md +0 -0
- {easydiffraction-0.16.0/docs/dev β easydiffraction-0.17.0/docs/dev/roadmap}/ROADMAP.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/analysis.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/core.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/crystallography.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/datablocks/experiment.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/datablocks/structure.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/display.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/index.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/io.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/project.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/summary.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/api-reference/utils.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/images/favicon.png +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/images/logo_dark.svg +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/images/logo_light.svg +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/images/user-guide/data-acquisition_2d-raw-data.jpg +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/images/user-guide/data-acquisition_instrument.png +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/images/user-guide/data-analysis_model.png +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/images/user-guide/data-analysis_refinement.png +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/images/user-guide/data-reduction_1d-pattern.png +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/javascripts/extra.js +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/javascripts/mathjax.js +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/assets/stylesheets/extra.css +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/index.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/introduction/index.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/analysis-workflow/experiment.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/analysis-workflow/index.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/analysis-workflow/model.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/analysis-workflow/summary.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/concept.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/data-format.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/glossary.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/index.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/_diffrn_radiation.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/_diffrn_radiation_wavelength.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/_exptl_crystal.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/_extinction.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/_pd_calib.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/atom_site.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/background.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/cell.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/expt_type.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/instrument.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/linked_phases.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/pd_meas.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/peak.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters/space_group.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/docs/user-guide/parameters.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/includes/abbreviations.md +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/overrides/.icons/app.svg +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/overrides/.icons/easydiffraction.svg +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/overrides/.icons/easyscience.svg +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/overrides/.icons/google-colab.svg +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/overrides/main.html +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/docs/overrides/partials/logo.html +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/prettierrc.toml +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/calculators/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/calculators/base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/calculators/crysfml.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/calculators/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/calculators/pdffit.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/categories/aliases/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/categories/aliases/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/categories/constraints/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/categories/constraints/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/fit_helpers/metrics.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/minimizers/bumps_amoeba.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/minimizers/bumps_de.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/minimizers/bumps_lm.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/minimizers/dfols.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/minimizers/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/minimizers/lmfit.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/minimizers/lmfit_least_squares.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/analysis/minimizers/lmfit_leastsq.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/core/diagnostic.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/core/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/core/metadata.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/analysis/categories β easydiffraction-0.17.0/src/easydiffraction/crystallography}/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/crystallography/space_groups.pkl.gz +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/crystallography/space_groups.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/analysis/fit_helpers β easydiffraction-0.17.0/src/easydiffraction/datablocks}/__init__.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/core β easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment}/__init__.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/crystallography β easydiffraction-0.17.0/src/easydiffraction/datablocks/experiment/categories}/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/background/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/background/base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/background/enums.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/background/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/calculation/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/calculation/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/data/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/data/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/extinction/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/extinction/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/instrument/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/instrument/cwl.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/instrument/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/instrument/tof.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/peak/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/peak/cwl.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/peak/cwl_mixins.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/peak/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/peak/tof.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/peak/tof_mixins.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/peak/total.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/peak/total_mixins.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/refln/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/refln/bragg_pd.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/categories/refln/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/item/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/item/base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/item/bragg_pd.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/item/bragg_sc.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/item/enums.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/item/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/experiment/item/total_pd.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/datablocks β easydiffraction-0.17.0/src/easydiffraction/datablocks/structure}/__init__.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment β easydiffraction-0.17.0/src/easydiffraction/datablocks/structure/categories}/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/enums.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/categories/cell/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/categories/cell/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/categories/space_group/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/categories/space_group/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/collection.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories β easydiffraction-0.17.0/src/easydiffraction/datablocks/structure/item}/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/item/base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/datablocks/structure/item/factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/display/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/display/base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/display/plotters/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/display/tablers/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/display/utils.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/io/__init__.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/datablocks/structure β easydiffraction-0.17.0/src/easydiffraction/io/cif}/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/io/cif/handler.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/io/cif/parse.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/datablocks/structure/categories β easydiffraction-0.17.0/src/easydiffraction/project}/__init__.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/datablocks/structure/item β easydiffraction-0.17.0/src/easydiffraction/project/categories}/__init__.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/io/cif β easydiffraction-0.17.0/src/easydiffraction/summary}/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/utils/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/utils/_vendored/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/utils/_vendored/jupyter_dark_detect/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/utils/_vendored/jupyter_dark_detect/detector.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/utils/_vendored/theme_detect.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/src/easydiffraction/utils/enums.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/functional/conftest.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/functional/test_adp_switching.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/functional/test_experiment_workflow.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/integration/fitting/test_cif_round_trip.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/integration/fitting/test_pair-distribution-function.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/integration/fitting/test_single-crystal-diffraction.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/integration/fitting/test_summary_report.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/integration/fitting/test_switch-calculator.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/integration/scipp-analysis/dream/conftest.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/integration/scipp-analysis/dream/test_analyze_reduced_data.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/integration/scipp-analysis/dream/test_read_reduced_data.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/integration/scipp-analysis/dream/test_validate_meta_data.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/integration/scipp-analysis/dream/test_validate_physical_data.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/calculators/test_base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/calculators/test_crysfml.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/calculators/test_factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/calculators/test_pdffit.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/categories/test_aliases.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/fit_helpers/test_metrics.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps_amoeba.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps_de.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps_lm.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/minimizers/test_lmfit_least_squares.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/minimizers/test_lmfit_leastsq.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/analysis/test_analysis_show_empty.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/core/test_collection.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/core/test_diagnostic.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/core/test_factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/core/test_guard.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/core/test_identity.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/core/test_metadata.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/core/test_singletons.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/core/test_validation.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/crystallography/test_crystallography.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/crystallography/test_space_groups.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/crystallography/test_space_groups_coverage.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_chebyshev.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_enums.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_line_segment.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/calculation/test_default.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/calculation/test_factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_cwl.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_tof.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_cwl.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_cwl_mixins.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_tof.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_tof_mixins.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_total.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_total_mixins.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/refln/test_bragg_pd.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/refln/test_factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_diffrn.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_excluded_regions.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_experiment_type.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_extinction.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_linked_crystal.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_linked_phases.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_base_coverage.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_pd.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_sc.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_sc_coverage.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_enums.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_enums_coverage.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_factory_coverage.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_total_pd.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/experiment/test_collection.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/project β easydiffraction-0.17.0/tests/unit/easydiffraction/datablocks/structure/categories}/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_atom_site_aniso.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_atom_sites.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_cell.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_space_group.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/structure/item/test_base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/structure/item/test_base_coverage.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/structure/item/test_factory.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/structure/test_collection.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/datablocks/structure/test_collection_coverage.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/display/plotters/test_base.py +0 -0
- {easydiffraction-0.16.0/src/easydiffraction/project/categories β easydiffraction-0.17.0/tests/unit/easydiffraction/display/tablers}/__init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/display/tablers/test_base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/display/test_base.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/display/test_utils.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/io/cif/test_handler.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/io/cif/test_parse.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/project/test_project_info.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/project/test_project_load_and_summary_wrap.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/test___init__.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/utils/test_enums.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/utils/test_environment_coverage.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/utils/test_logging.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/utils/test_logging_coverage.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tests/unit/easydiffraction/utils/test_theme_detect.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tools/gen_tests_scaffold.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tools/license_headers.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tools/naming_check.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tools/test_scripts.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tools/test_structure_check.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tools/tweak_notebooks.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tools/update_docs_assets.py +0 -0
- {easydiffraction-0.16.0 β easydiffraction-0.17.0}/tools/update_github_labels.py +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Codecov configuration
|
|
2
|
+
# https://docs.codecov.com/docs/codecov-yaml
|
|
3
|
+
|
|
4
|
+
github_checks:
|
|
5
|
+
annotations: true
|
|
6
|
+
|
|
7
|
+
comment:
|
|
8
|
+
layout: 'reach, diff, flags, files'
|
|
9
|
+
behavior: default
|
|
10
|
+
require_changes: false
|
|
11
|
+
require_base: false
|
|
12
|
+
require_head: true
|
|
13
|
+
|
|
14
|
+
coverage:
|
|
15
|
+
status:
|
|
16
|
+
project:
|
|
17
|
+
default:
|
|
18
|
+
target: auto
|
|
19
|
+
threshold: 1%
|
|
20
|
+
# Make project coverage informational (won't block PR)
|
|
21
|
+
informational: true
|
|
22
|
+
patch:
|
|
23
|
+
default:
|
|
24
|
+
target: auto
|
|
25
|
+
# Require patch coverage but with threshold
|
|
26
|
+
threshold: 1%
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# WARNING: Do not edit this file manually.
|
|
2
|
+
# Any changes will be overwritten by Copier.
|
|
3
|
+
_commit: v0.11.4
|
|
4
|
+
_src_path: gh:easyscience/templates
|
|
5
|
+
app_docs_url: https://easyscience.github.io/diffraction-app
|
|
6
|
+
app_doi: 10.5281/zenodo.18163581
|
|
7
|
+
app_package_name: easydiffraction_app
|
|
8
|
+
app_python: '3.14'
|
|
9
|
+
app_repo_name: diffraction-app
|
|
10
|
+
home_page_url: https://easyscience.github.io/diffraction
|
|
11
|
+
home_repo_name: diffraction
|
|
12
|
+
lib_docs_url: https://easyscience.github.io/diffraction-lib
|
|
13
|
+
lib_doi: 10.5281/zenodo.18163581
|
|
14
|
+
lib_package_name: easydiffraction
|
|
15
|
+
lib_python_max: '3.14'
|
|
16
|
+
lib_python_min: '3.12'
|
|
17
|
+
lib_repo_name: diffraction-lib
|
|
18
|
+
project_contact_email: support@easydiffraction.org
|
|
19
|
+
project_copyright_years: 2021-2026
|
|
20
|
+
project_extended_description: A software for calculating diffraction patterns based
|
|
21
|
+
on a structural model and refining its parameters against experimental data
|
|
22
|
+
project_name: EasyDiffraction
|
|
23
|
+
project_short_description: Diffraction data analysis
|
|
24
|
+
project_shortcut: ED
|
|
25
|
+
project_type: both
|
|
26
|
+
template_type: lib
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: 'Setup Pixi Environment'
|
|
2
|
+
description: 'Wrapper for prefix-dev/setup-pixi'
|
|
3
|
+
inputs:
|
|
4
|
+
environments:
|
|
5
|
+
description: 'Pixi environments to setup'
|
|
6
|
+
required: false
|
|
7
|
+
default: 'default'
|
|
8
|
+
activate-environment:
|
|
9
|
+
description: 'Environment to activate'
|
|
10
|
+
required: false
|
|
11
|
+
default: 'default'
|
|
12
|
+
run-install:
|
|
13
|
+
description: 'Whether to run pixi install'
|
|
14
|
+
required: false
|
|
15
|
+
default: 'true'
|
|
16
|
+
locked:
|
|
17
|
+
description: 'Whether to run pixi install --locked'
|
|
18
|
+
required: false
|
|
19
|
+
default: 'false'
|
|
20
|
+
frozen:
|
|
21
|
+
description: 'Whether to run pixi install --frozen'
|
|
22
|
+
required: false
|
|
23
|
+
default: 'true'
|
|
24
|
+
cache:
|
|
25
|
+
description: 'Whether to use cache'
|
|
26
|
+
required: false
|
|
27
|
+
default: 'false'
|
|
28
|
+
post-cleanup:
|
|
29
|
+
description: 'Whether to run post cleanup'
|
|
30
|
+
required: false
|
|
31
|
+
default: 'false'
|
|
32
|
+
|
|
33
|
+
runs:
|
|
34
|
+
using: 'composite'
|
|
35
|
+
steps:
|
|
36
|
+
- uses: prefix-dev/setup-pixi@v0.9.5
|
|
37
|
+
with:
|
|
38
|
+
environments: ${{ inputs.environments }}
|
|
39
|
+
activate-environment: ${{ inputs.activate-environment }}
|
|
40
|
+
run-install: ${{ inputs.run-install }}
|
|
41
|
+
locked: ${{ inputs.locked }}
|
|
42
|
+
frozen: ${{ inputs.frozen }}
|
|
43
|
+
cache: ${{ inputs.cache }}
|
|
44
|
+
post-cleanup: ${{ inputs.post-cleanup }}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
# Copilot Instructions for EasyDiffraction
|
|
2
|
+
|
|
3
|
+
## Project Context
|
|
4
|
+
|
|
5
|
+
- Python library for crystallographic diffraction analysis (refining
|
|
6
|
+
structural models against experimental data).
|
|
7
|
+
- Domain axes: `sample_form` (powder, single crystal), `beam_mode`
|
|
8
|
+
(time-of-flight, constant wavelength), `radiation_probe` (neutron,
|
|
9
|
+
x-ray), `scattering_type` (bragg, total).
|
|
10
|
+
- Calculation backends: `cryspy` and `crysfml` (Bragg), `pdffit2` (total
|
|
11
|
+
scattering).
|
|
12
|
+
- CIF maps to `DatablockItem`/`DatablockCollection` and
|
|
13
|
+
`CategoryItem`/`CategoryCollection` (loops). Follow CIF naming;
|
|
14
|
+
deviate only for a clearly better API.
|
|
15
|
+
- Metadata via frozen dataclasses: `TypeInfo`, `Compatibility`,
|
|
16
|
+
`CalculatorSupport`.
|
|
17
|
+
- Audience is scientists, often non-programmers: prioritize
|
|
18
|
+
discoverability, clear errors, and safe defaults over developer
|
|
19
|
+
ergonomics.
|
|
20
|
+
- Critical-software rigor: every code path tested, edge cases handled
|
|
21
|
+
explicitly, no silent failures.
|
|
22
|
+
|
|
23
|
+
## Code Style
|
|
24
|
+
|
|
25
|
+
- snake_case (functions/vars), PascalCase (classes), UPPER_SNAKE_CASE
|
|
26
|
+
(constants).
|
|
27
|
+
- `from __future__ import annotations` in every module. Type-annotate
|
|
28
|
+
all public signatures.
|
|
29
|
+
- Numpy-style docstrings on all public classes/methods (Parameters /
|
|
30
|
+
Returns / Raises where applicable). Summary is one line β€72 chars
|
|
31
|
+
(`max-doc-length`); shorten wording rather than wrap.
|
|
32
|
+
- Flat over nested, explicit over clever, composition over deep
|
|
33
|
+
inheritance. No defensive checks for unlikely edge cases.
|
|
34
|
+
- One class per file when substantial; group small related classes.
|
|
35
|
+
- No `**kwargs` β use explicit keyword arguments.
|
|
36
|
+
- No string-based dispatch (e.g. `getattr(self, f'_{name}')`); write
|
|
37
|
+
named methods (`_set_sample_form`, `_set_beam_mode`). Narrow framework
|
|
38
|
+
metadata lookups are allowed when the attribute name is a class-level
|
|
39
|
+
declaration, is not user input, and is validated in one central place;
|
|
40
|
+
for example, `CategoryItem._category_entry_name`.
|
|
41
|
+
- Public attrs are either editable (getter+setter property) or read-only
|
|
42
|
+
(getter only). For internal mutation of read-only props, use a private
|
|
43
|
+
`_set_<name>` method, not a public setter.
|
|
44
|
+
- Lint complexity thresholds in `pyproject.toml` (`max-args`,
|
|
45
|
+
`max-branches`, `max-statements`, `max-locals`, `max-nested-blocks`,
|
|
46
|
+
β¦) are guardrails. A violation means refactor (extract helpers,
|
|
47
|
+
parameter objects, flatten) β do not raise thresholds, add `# noqa`,
|
|
48
|
+
or otherwise silence them. For complex refactors touching many lines
|
|
49
|
+
or public API, propose a plan and wait for approval.
|
|
50
|
+
|
|
51
|
+
## Architecture
|
|
52
|
+
|
|
53
|
+
- Eager top-of-module imports by default. Lazy imports only to break
|
|
54
|
+
circular deps or to keep `core/` free of heavy imports on rarely-
|
|
55
|
+
called paths (e.g. `help()`).
|
|
56
|
+
- No `pkgutil`/`importlib` auto-discovery, no background threads, no
|
|
57
|
+
monkey-patching or runtime class mutation.
|
|
58
|
+
- No `__all__`; control public API via explicit `__init__.py` imports.
|
|
59
|
+
No redundant `import X as X` aliases.
|
|
60
|
+
- Concrete classes use `@Factory.register`. Each package's `__init__.py`
|
|
61
|
+
must explicitly import every concrete class to trigger registration β
|
|
62
|
+
always update it when adding a class.
|
|
63
|
+
- Switchable categories (factory-swappable at runtime) follow this fixed
|
|
64
|
+
API on the owner (experiment / structure / analysis): `<category>`
|
|
65
|
+
(read-only), `<category>_type` (getter+setter),
|
|
66
|
+
`show_supported_<category>_types()`, `show_current_<category>_type()`.
|
|
67
|
+
The owner owns the type setter and show methods; show methods delegate
|
|
68
|
+
to `Factory.show_supported(...)`. Required even if only one
|
|
69
|
+
implementation exists.
|
|
70
|
+
- Categories are flat siblings within their owner. Never nest a category
|
|
71
|
+
as a child of another category of a different type; cross-reference
|
|
72
|
+
via IDs instead.
|
|
73
|
+
- Every finite, closed set of values (factory tags, axes, enumerated
|
|
74
|
+
descriptors) is a `(str, Enum)`; compare against members, not raw
|
|
75
|
+
strings.
|
|
76
|
+
- Keep `core/` free of domain logic (base classes and utilities only).
|
|
77
|
+
- Don't introduce abstractions before a concrete second use case. Don't
|
|
78
|
+
add dependencies without asking.
|
|
79
|
+
|
|
80
|
+
## Testing
|
|
81
|
+
|
|
82
|
+
- Every new module, class, or bug fix ships with tests. See
|
|
83
|
+
`docs/dev/adrs/accepted/test-strategy.md` for the full strategy.
|
|
84
|
+
- Unit tests mirror the source tree:
|
|
85
|
+
`src/easydiffraction/<pkg>/<mod>.py` β
|
|
86
|
+
`tests/unit/easydiffraction/<pkg>/test_<mod>.py`. Verify with
|
|
87
|
+
`pixi run test-structure-check`. Supplementary tests:
|
|
88
|
+
`test_<mod>_coverage.py`. Category packages with only
|
|
89
|
+
`default.py`/`factory.py` may use one parent-level
|
|
90
|
+
`test_<package>.py`.
|
|
91
|
+
- Tests expecting `log.error()` to raise must `monkeypatch` Logger to
|
|
92
|
+
RAISE mode (another test may have leaked WARN mode).
|
|
93
|
+
- `@typechecked` setters raise `typeguard.TypeCheckError`, not
|
|
94
|
+
`TypeError`.
|
|
95
|
+
- No test-ordering dependence, no network, no sleeping, no real
|
|
96
|
+
calculation engines in unit tests.
|
|
97
|
+
|
|
98
|
+
## Tutorials
|
|
99
|
+
|
|
100
|
+
- Notebooks in `docs/docs/tutorials/*.ipynb` are generated artifacts.
|
|
101
|
+
Edit only the corresponding `*.py`, then run
|
|
102
|
+
`pixi run notebook-prepare`.
|
|
103
|
+
|
|
104
|
+
## Change Discipline
|
|
105
|
+
|
|
106
|
+
- Before any structural/design change (new categories, factories,
|
|
107
|
+
switchable-category wiring, datablocks, CIF serialisation), read
|
|
108
|
+
`docs/dev/adrs/index.md` and the relevant accepted ADRs. Localised bug
|
|
109
|
+
fixes or test updates need only this file.
|
|
110
|
+
- Development documentation lives under `docs/dev/`. Use
|
|
111
|
+
`docs/dev/adrs/index.md` as the architecture and decision navigation
|
|
112
|
+
surface; there is no separate `architecture.md` source of truth.
|
|
113
|
+
- Project is in beta: no legacy shims, no deprecation warnings β update
|
|
114
|
+
tests and tutorials to the current API.
|
|
115
|
+
- Minimal diffs; don't reformat working code. Fix only what's asked;
|
|
116
|
+
flag adjacent issues as comments. Don't add features or refactor
|
|
117
|
+
unless asked. Don't remove TODOs or comments unless the change fully
|
|
118
|
+
resolves them.
|
|
119
|
+
- Never remove or replace existing functionality without explicit
|
|
120
|
+
confirmation β highlight every removal and wait for approval.
|
|
121
|
+
- When renaming or auditing usages, search the entire project (code,
|
|
122
|
+
tests, tutorials, docs). Use `git grep -n` because all contributors
|
|
123
|
+
have Git; do not assume `rg` is installed. If `git grep` is
|
|
124
|
+
unavailable, fall back to `find ... -type f` plus `grep -n`.
|
|
125
|
+
- Each change is atomic and single-commit-sized: make one change,
|
|
126
|
+
suggest the commit message, then stop and wait for confirmation.
|
|
127
|
+
- When in doubt, ask.
|
|
128
|
+
|
|
129
|
+
## Commits
|
|
130
|
+
|
|
131
|
+
- Suggest a commit message after each change: code block, β€72 chars,
|
|
132
|
+
imperative mood, no type prefix, no `Co-authored-by: Copilot`.
|
|
133
|
+
Examples:
|
|
134
|
+
- Add ChebyshevPolynomialBackground class
|
|
135
|
+
- Implement background_type setter on Experiment
|
|
136
|
+
- Standardize switchable-category naming convention
|
|
137
|
+
- Stage only the files modified for the step, using explicit paths where
|
|
138
|
+
practical. Do not include data, project, CIF, or other generated
|
|
139
|
+
artifacts produced by integration/script/notebook tests unless the
|
|
140
|
+
user explicitly asked to update them.
|
|
141
|
+
- Before each commit, inspect the worktree and avoid staging unrelated
|
|
142
|
+
user changes. If unrelated dirty files exist, leave them untouched and
|
|
143
|
+
mention them only when relevant.
|
|
144
|
+
|
|
145
|
+
## Workflow
|
|
146
|
+
|
|
147
|
+
Non-trivial changes use a two-phase workflow:
|
|
148
|
+
|
|
149
|
+
- **Phase 1 β Implementation.** Code and docs updates only. Update ADRs
|
|
150
|
+
when the change affects architecture or documented decisions. Do not
|
|
151
|
+
create or run tests unless the user explicitly asks. When done,
|
|
152
|
+
present for review and iterate until approved.
|
|
153
|
+
- **Phase 2 β Verification.** Add/update tests, then run `pixi run fix`,
|
|
154
|
+
`pixi run check`, `pixi run unit-tests`, `pixi run integration-tests`,
|
|
155
|
+
`pixi run script-tests`.
|
|
156
|
+
|
|
157
|
+
Notes:
|
|
158
|
+
|
|
159
|
+
- `pixi run fix` regenerates `docs/dev/package-structure/full.md` and
|
|
160
|
+
`docs/dev/package-structure/short.md` automatically β never edit those
|
|
161
|
+
by hand. Don't review auto-fixes; accept and move on. Then
|
|
162
|
+
`pixi run check` until clean.
|
|
163
|
+
- When a check command needs saved output for analysis, capture the log
|
|
164
|
+
and preserve the command exit code with a zsh-safe variable name:
|
|
165
|
+
`pixi run check > /tmp/easydiffraction-check.log 2>&1; check_exit_code=$?; tail -n 200 /tmp/easydiffraction-check.log; exit $check_exit_code`.
|
|
166
|
+
Never assign to `status` in zsh; it is readonly. Use task-specific
|
|
167
|
+
names such as `check_exit_code`, `unit_tests_exit_code`, or
|
|
168
|
+
`script_tests_exit_code`.
|
|
169
|
+
- Open issues / design questions / planned improvements live in
|
|
170
|
+
`docs/dev/issues/open.md` (priority-ordered). On resolution, move to
|
|
171
|
+
`docs/dev/issues/closed.md` and update the relevant ADR or
|
|
172
|
+
`docs/dev/adrs/index.md` if affected.
|
|
173
|
+
|
|
174
|
+
### Planning
|
|
175
|
+
|
|
176
|
+
When asked to create a plan:
|
|
177
|
+
|
|
178
|
+
- Start the plan by referencing this file:
|
|
179
|
+
`.github/copilot-instructions.md`. State any deliberate exception to
|
|
180
|
+
these instructions in the plan itself.
|
|
181
|
+
- First gather enough repository context to make the plan concrete. Ask
|
|
182
|
+
all ambiguous or unclear questions in one concise batch; record
|
|
183
|
+
unresolved questions in the plan if the user wants it saved before
|
|
184
|
+
answering them.
|
|
185
|
+
- Save plans as `docs/dev/plans/<feature-name>.md` (lowercase,
|
|
186
|
+
dash-separated, e.g. `docs/dev/plans/background-refactor.md`). When a
|
|
187
|
+
plan implements one ADR, use the same slug as the ADR file; for
|
|
188
|
+
example, `docs/dev/adrs/suggestions/foo.md` maps to
|
|
189
|
+
`docs/dev/plans/foo.md`. If a plan has no corresponding ADR or spans
|
|
190
|
+
multiple ADRs, choose a concise feature slug and list all related ADRs
|
|
191
|
+
in the plan. Use the same `<feature-name>` for the implementation
|
|
192
|
+
branch (`feature/<feature-name>`). Do not push the branch unless
|
|
193
|
+
asked.
|
|
194
|
+
- Include a status checklist with `[ ]` items; mark `[x]` as completed
|
|
195
|
+
during implementation.
|
|
196
|
+
- Apply the two-phase workflow (Phase 1 implementation, Phase 2
|
|
197
|
+
verification) to non-trivial plans. Stop after Phase 1 and ask the
|
|
198
|
+
user to review before starting Phase 2.
|
|
199
|
+
- The plan must explicitly state that, when an AI agent follows it,
|
|
200
|
+
every completed Phase 1 implementation step must be staged with
|
|
201
|
+
explicit paths and committed locally before moving to the next
|
|
202
|
+
implementation step or the Phase 1 review gate. Follow the rules in
|
|
203
|
+
**Commits**. Keep commits atomic, single-purpose, and aligned with
|
|
204
|
+
plan steps.
|
|
205
|
+
- If implementation uncovers a serious requirement, risk, design issue,
|
|
206
|
+
or scope change not covered by the plan, stop and ask the user for
|
|
207
|
+
clarification or approval before proceeding. Record the unresolved
|
|
208
|
+
issue in the plan when useful.
|
|
209
|
+
- The plan should be easy to maintain while working: include concrete
|
|
210
|
+
files likely to change, decisions already made, open questions,
|
|
211
|
+
verification commands for Phase 2, and a short suggested commit
|
|
212
|
+
message or branch name when useful.
|
|
213
|
+
- Verification commands in plans must include the zsh-safe log-capture
|
|
214
|
+
pattern from **Workflow** whenever saved output is needed for later
|
|
215
|
+
analysis.
|
|
216
|
+
- Before saving a plan, verify that referenced files, directories,
|
|
217
|
+
scripts, and task names exist locally when that is practical. If a
|
|
218
|
+
referenced tool is optional or missing, include an available fallback.
|
|
219
|
+
- End every plan with a "Suggested Pull Request" section containing a
|
|
220
|
+
short PR title and a brief end-user-oriented description. Keep this
|
|
221
|
+
section non-technical enough for scientists and other users to
|
|
222
|
+
understand the benefit. Update it during implementation if extra
|
|
223
|
+
approved changes become important enough to mention in the PR title or
|
|
224
|
+
description.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
name: Coverage checks
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
# Trigger the workflow on push to develop
|
|
5
|
+
push:
|
|
6
|
+
branches:
|
|
7
|
+
- develop
|
|
8
|
+
# Trigger the workflow on pull request
|
|
9
|
+
pull_request:
|
|
10
|
+
# Allows you to run this workflow manually from the Actions tab
|
|
11
|
+
workflow_dispatch:
|
|
12
|
+
|
|
13
|
+
# Need permissions to trigger the dashboard build workflow
|
|
14
|
+
permissions:
|
|
15
|
+
actions: write
|
|
16
|
+
contents: read
|
|
17
|
+
|
|
18
|
+
# Allow only one concurrent workflow per PR or branch ref.
|
|
19
|
+
# Cancel in-progress runs only for pull requests, but let branch push runs finish.
|
|
20
|
+
concurrency:
|
|
21
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
22
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
23
|
+
|
|
24
|
+
# Set the environment variables to be used in all jobs defined in this workflow
|
|
25
|
+
env:
|
|
26
|
+
CI_BRANCH: ${{ github.head_ref || github.ref_name }}
|
|
27
|
+
|
|
28
|
+
jobs:
|
|
29
|
+
# Job 1: Run docstring coverage
|
|
30
|
+
docstring-coverage:
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
|
|
33
|
+
steps:
|
|
34
|
+
- name: Check-out repository
|
|
35
|
+
uses: actions/checkout@v6
|
|
36
|
+
|
|
37
|
+
- name: Set up pixi
|
|
38
|
+
uses: ./.github/actions/setup-pixi
|
|
39
|
+
|
|
40
|
+
- name: Run docstring coverage
|
|
41
|
+
run: pixi run docstring-coverage
|
|
42
|
+
|
|
43
|
+
# Job 2: Run unit tests with coverage and upload to Codecov
|
|
44
|
+
unit-tests-coverage:
|
|
45
|
+
runs-on: ubuntu-latest
|
|
46
|
+
|
|
47
|
+
steps:
|
|
48
|
+
- name: Check-out repository
|
|
49
|
+
uses: actions/checkout@v6
|
|
50
|
+
|
|
51
|
+
- name: Set up pixi
|
|
52
|
+
uses: ./.github/actions/setup-pixi
|
|
53
|
+
|
|
54
|
+
- name: Run unit tests with coverage
|
|
55
|
+
run: pixi run unit-tests-coverage --cov-report=xml:coverage-unit.xml
|
|
56
|
+
|
|
57
|
+
- name: Upload unit tests coverage to Codecov
|
|
58
|
+
if: ${{ !cancelled() }}
|
|
59
|
+
uses: ./.github/actions/upload-codecov
|
|
60
|
+
with:
|
|
61
|
+
name: unit-tests-job
|
|
62
|
+
flags: unittests
|
|
63
|
+
files: ./coverage-unit.xml
|
|
64
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
65
|
+
|
|
66
|
+
# Job 2: Run integration tests with coverage and upload to Codecov
|
|
67
|
+
integration-tests-coverage:
|
|
68
|
+
runs-on: ubuntu-latest
|
|
69
|
+
|
|
70
|
+
steps:
|
|
71
|
+
- name: Check-out repository
|
|
72
|
+
uses: actions/checkout@v6
|
|
73
|
+
|
|
74
|
+
- name: Set up pixi
|
|
75
|
+
uses: ./.github/actions/setup-pixi
|
|
76
|
+
|
|
77
|
+
- name: Run integration tests with coverage
|
|
78
|
+
run:
|
|
79
|
+
pixi run integration-tests-coverage --cov-report=xml:coverage-integration.xml
|
|
80
|
+
|
|
81
|
+
- name: Upload integration tests coverage to Codecov
|
|
82
|
+
if: ${{ !cancelled() }}
|
|
83
|
+
uses: ./.github/actions/upload-codecov
|
|
84
|
+
with:
|
|
85
|
+
name: integration-tests-job
|
|
86
|
+
flags: integration
|
|
87
|
+
files: ./coverage-integration.xml
|
|
88
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
89
|
+
|
|
90
|
+
# Job 4: Build and publish dashboard (reusable workflow)
|
|
91
|
+
run-reusable-workflows:
|
|
92
|
+
needs: [docstring-coverage, unit-tests-coverage, integration-tests-coverage] # depend on the previous jobs
|
|
93
|
+
uses: ./.github/workflows/dashboard.yml
|
|
94
|
+
secrets: inherit
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
name: Dashboard build and publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
workflow_call:
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
concurrency:
|
|
11
|
+
group: dashboard-publish-${{ github.repository }}
|
|
12
|
+
cancel-in-progress: false
|
|
13
|
+
|
|
14
|
+
# Set the environment variables to be used in all jobs defined in this workflow
|
|
15
|
+
env:
|
|
16
|
+
CI_BRANCH: ${{ github.head_ref || github.ref_name }}
|
|
17
|
+
DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
|
|
18
|
+
DEVELOP_BRANCH: develop
|
|
19
|
+
REPO_OWNER: ${{ github.repository_owner }}
|
|
20
|
+
REPO_NAME: ${{ github.event.repository.name }}
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
dashboard:
|
|
24
|
+
runs-on: ubuntu-latest
|
|
25
|
+
|
|
26
|
+
steps:
|
|
27
|
+
- name: Checkout repository
|
|
28
|
+
uses: actions/checkout@v6
|
|
29
|
+
with:
|
|
30
|
+
fetch-depth: 0
|
|
31
|
+
|
|
32
|
+
- name: Set up pixi
|
|
33
|
+
uses: ./.github/actions/setup-pixi
|
|
34
|
+
|
|
35
|
+
# Install badgery into the active Pixi environment without modifying
|
|
36
|
+
# pixi.toml/pixi.lock. Using `pixi add` here re-solves the whole project
|
|
37
|
+
# and rebuilds the local editable package, which can cause intermittent
|
|
38
|
+
# Linux CI failures (`Text file busy`, os error 26).
|
|
39
|
+
- name: Install badgery
|
|
40
|
+
shell: bash
|
|
41
|
+
run: pixi run python -m pip install git+https://github.com/enhantica/badgery
|
|
42
|
+
|
|
43
|
+
- name: Run docstring coverage and code complexity/maintainability checks
|
|
44
|
+
run: |
|
|
45
|
+
for BRANCH in $DEFAULT_BRANCH $DEVELOP_BRANCH $CI_BRANCH; do
|
|
46
|
+
echo
|
|
47
|
+
echo "πΉπΈπΉπΈπΉ Processing branch $BRANCH πΉπΈπΉπΈπΉ"
|
|
48
|
+
if [ -d "../$BRANCH" ]; then
|
|
49
|
+
echo "Branch $BRANCH already processed, skipping"
|
|
50
|
+
continue
|
|
51
|
+
fi
|
|
52
|
+
|
|
53
|
+
git worktree add ../$BRANCH origin/$BRANCH
|
|
54
|
+
mkdir -p reports/$BRANCH
|
|
55
|
+
|
|
56
|
+
echo "Docstring coverage for branch $BRANCH"
|
|
57
|
+
pixi run interrogate -c pyproject.toml --fail-under=0 ../$BRANCH/src > reports/$BRANCH/coverage-docstring.txt
|
|
58
|
+
|
|
59
|
+
echo "Cyclomatic complexity for branch $BRANCH"
|
|
60
|
+
pixi run radon cc -s -j ../$BRANCH/src > reports/$BRANCH/cyclomatic-complexity.json
|
|
61
|
+
|
|
62
|
+
echo "Maintainability index for branch $BRANCH"
|
|
63
|
+
pixi run radon mi -j ../$BRANCH/src > reports/$BRANCH/maintainability-index.json
|
|
64
|
+
|
|
65
|
+
echo "Raw metrics for branch $BRANCH"
|
|
66
|
+
pixi run radon raw -s -j ../$BRANCH/src > reports/$BRANCH/raw-metrics.json
|
|
67
|
+
done
|
|
68
|
+
|
|
69
|
+
- name: Generate dashboard HTML
|
|
70
|
+
run: >
|
|
71
|
+
pixi run python -m badgery --config .badgery.yaml --repo ${{ github.repository
|
|
72
|
+
}} --branch ${{ env.CI_BRANCH }} --output index.html
|
|
73
|
+
|
|
74
|
+
- name: Prepare publish directory
|
|
75
|
+
run: |
|
|
76
|
+
mkdir -p _dashboard_publish/${{ env.REPO_NAME }}/${{ env.CI_BRANCH }}
|
|
77
|
+
cp index.html _dashboard_publish/${{ env.REPO_NAME }}/${{ env.CI_BRANCH }}
|
|
78
|
+
|
|
79
|
+
# Create GitHub App token for pushing to external dashboard repo.
|
|
80
|
+
# The 'repositories' parameter is required to grant access to repos
|
|
81
|
+
# other than the one where the workflow is running.
|
|
82
|
+
- name: Setup easyscience[bot]
|
|
83
|
+
id: bot
|
|
84
|
+
uses: ./.github/actions/setup-easyscience-bot
|
|
85
|
+
with:
|
|
86
|
+
app-id: ${{ vars.EASYSCIENCE_APP_ID }}
|
|
87
|
+
private-key: ${{ secrets.EASYSCIENCE_APP_KEY }}
|
|
88
|
+
repositories: |
|
|
89
|
+
${{ github.event.repository.name }}
|
|
90
|
+
dashboard
|
|
91
|
+
|
|
92
|
+
# Push to external dashboard repository with retry logic.
|
|
93
|
+
# Retry is needed to handle transient GitHub API/authentication issues
|
|
94
|
+
# that occasionally cause 403 errors when multiple workflows push concurrently.
|
|
95
|
+
# Uses personal_token (not github_token) as GITHUB_TOKEN cannot access external repos.
|
|
96
|
+
- name:
|
|
97
|
+
Push to ${{ env.REPO_OWNER }}/dashboard/${{ env.REPO_NAME }}/${{ env.CI_BRANCH
|
|
98
|
+
}}
|
|
99
|
+
shell: bash
|
|
100
|
+
env:
|
|
101
|
+
DASHBOARD_COMMIT_MESSAGE: ${{ env.CI_BRANCH }}
|
|
102
|
+
DASHBOARD_GIT_USER_EMAIL:
|
|
103
|
+
${{ vars.EASYSCIENCE_APP_ID }}+easyscience[bot]@users.noreply.github.com
|
|
104
|
+
DASHBOARD_PUSH_ATTEMPTS: '3'
|
|
105
|
+
DASHBOARD_PUSH_DELAY_SECONDS: '15'
|
|
106
|
+
DASHBOARD_PUBLISH_BRANCH: master
|
|
107
|
+
DASHBOARD_REMOTE_REPOSITORY: ${{ env.REPO_OWNER }}/dashboard
|
|
108
|
+
DASHBOARD_SOURCE_DIR: ./_dashboard_publish
|
|
109
|
+
DASHBOARD_TOKEN: ${{ steps.bot.outputs.token }}
|
|
110
|
+
run: bash ./.github/scripts/publish-dashboard.sh
|
|
111
|
+
|
|
112
|
+
- name: Add dashboard link to summary
|
|
113
|
+
run: |
|
|
114
|
+
URL="https://${{ env.REPO_OWNER }}.github.io/dashboard/${{ env.REPO_NAME }}/${{ env.CI_BRANCH }}"
|
|
115
|
+
echo "Dashboard link: [$URL]($URL)" >> $GITHUB_STEP_SUMMARY
|