easydiffraction 0.14.0__tar.gz → 0.16.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.14.0 → easydiffraction-0.16.0}/.copier-answers.yml +3 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/actions/download-artifact/action.yml +2 -2
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/actions/github-script/action.yml +1 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/actions/setup-easyscience-bot/action.yml +2 -2
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/actions/setup-pixi/action.yml +1 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/actions/upload-artifact/action.yml +2 -2
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/actions/upload-codecov/action.yml +2 -2
- easydiffraction-0.16.0/.github/copilot-instructions.md +193 -0
- easydiffraction-0.16.0/.github/scripts/publish-dashboard.sh +77 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/backmerge.yml +2 -7
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/cleanup.yml +2 -7
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/coverage.yml +3 -6
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/dashboard.yml +21 -17
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/docs.yml +1 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/issues-labels.yml +1 -6
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/lint-format.yml +1 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/pypi-publish.yml +1 -6
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/pypi-test.yml +10 -11
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/release-notes.yml +2 -7
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/release-pr.yml +1 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/security.yml +2 -7
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/test-trigger.yml +1 -6
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/test.yml +8 -10
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/tutorial-tests-colab.yaml +1 -19
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/tutorial-tests-trigger.yml +1 -6
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/tutorial-tests.yml +1 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/PKG-INFO +5 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/README.md +3 -3
- easydiffraction-0.16.0/docs/architecture/package-structure-full.md +425 -0
- easydiffraction-0.16.0/docs/architecture/package-structure-short.md +224 -0
- {easydiffraction-0.14.0/docs/architecture → easydiffraction-0.16.0/docs/dev}/architecture.md +35 -12
- {easydiffraction-0.14.0/docs/architecture → easydiffraction-0.16.0/docs/dev}/issues_open.md +44 -0
- {easydiffraction-0.14.0/docs/architecture → easydiffraction-0.16.0/docs/dev}/package-structure-full.md +4 -0
- easydiffraction-0.16.0/docs/dev/plan_powder-chart-y-range.md +138 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/introduction/index.md +3 -3
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-1.ipynb +1 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-1.py +1 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-13.ipynb +1 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-16.ipynb +4 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-16.py +4 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-17.ipynb +3 -3
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-17.py +3 -3
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-18.ipynb +1 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-18.py +1 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-2.ipynb +72 -3
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-2.py +25 -3
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-20.ipynb +4 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-20.py +4 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-3.ipynb +12 -12
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-3.py +12 -12
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-4.ipynb +2 -6
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-4.py +2 -6
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-5.ipynb +93 -170
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-5.py +29 -63
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-6.ipynb +10 -10
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-6.py +10 -10
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-7.ipynb +177 -22
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-7.py +75 -21
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-8.ipynb +4 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-8.py +4 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/mkdocs.yml +0 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/pixi.lock +264 -300
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/pixi.toml +8 -2
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/pyproject.toml +2 -2
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/analysis.py +12 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/calculators/base.py +41 -4
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/calculators/crysfml.py +17 -13
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/calculators/cryspy.py +141 -5
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/fit_helpers/metrics.py +6 -3
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/fitting.py +5 -3
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/variable.py +41 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/crystallography/crystallography.py +161 -13
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/data/__init__.py +0 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/data/bragg_pd.py +80 -14
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/data/factory.py +0 -4
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/refln/__init__.py +10 -0
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/refln/bragg_pd.py +302 -0
- {easydiffraction-0.14.0/src/easydiffraction/datablocks/experiment/categories/data → easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/refln}/bragg_sc.py +2 -2
- easydiffraction-0.16.0/src/easydiffraction/datablocks/experiment/categories/refln/factory.py +39 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/item/base.py +62 -15
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/item/bragg_pd.py +48 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/item/bragg_sc.py +11 -11
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/default.py +32 -12
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/cell/default.py +15 -8
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/plotters/ascii.py +29 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/plotters/base.py +61 -0
- easydiffraction-0.16.0/src/easydiffraction/display/plotters/plotly.py +1464 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/plotting.py +366 -53
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/functional/test_structure_workflow.py +100 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_switch-calculator.py +1 -1
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/calculators/test_cryspy.py +62 -3
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/test_analysis_show_empty.py +3 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_parameters.py +54 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/crystallography/test_crystallography_coverage.py +54 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/crystallography/test_crystallography_wyckoff.py +31 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_factory.py +2 -13
- easydiffraction-0.16.0/tests/unit/easydiffraction/datablocks/experiment/categories/refln/test_bragg_pd.py +196 -0
- {easydiffraction-0.14.0/tests/unit/easydiffraction/datablocks/experiment/categories/data → easydiffraction-0.16.0/tests/unit/easydiffraction/datablocks/experiment/categories/refln}/test_bragg_sc.py +4 -15
- easydiffraction-0.16.0/tests/unit/easydiffraction/datablocks/experiment/categories/refln/test_factory.py +67 -0
- easydiffraction-0.16.0/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_pd.py +249 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_sc_coverage.py +2 -2
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/plotters/test_ascii.py +37 -0
- easydiffraction-0.16.0/tests/unit/easydiffraction/display/plotters/test_plotly.py +914 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/test_plotting.py +427 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/test_plotting_coverage.py +21 -5
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tools/license_headers.py +9 -3
- easydiffraction-0.14.0/.github/copilot-instructions.md +0 -211
- easydiffraction-0.14.0/src/easydiffraction/display/plotters/plotly.py +0 -695
- easydiffraction-0.14.0/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_pd.py +0 -73
- easydiffraction-0.14.0/tests/unit/easydiffraction/display/plotters/test_plotly.py +0 -211
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.badgery.yaml +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.codefactorignore +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/configs/pages-deployment.json +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/configs/rulesets-develop.json +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/configs/rulesets-gh-pages.json +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/configs/rulesets-master.json +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/scripts/backmerge-conflict-issue.js +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/workflows/pr-labels.yml +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.gitignore +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.pre-commit-config.yaml +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/.prettierignore +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/CONTRIBUTING.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/LICENSE +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/codecov.yml +0 -0
- {easydiffraction-0.14.0/docs/architecture → easydiffraction-0.16.0/docs/dev}/ROADMAP.md +0 -0
- {easydiffraction-0.14.0/docs/architecture → easydiffraction-0.16.0/docs/dev}/adp_implementation.md +0 -0
- {easydiffraction-0.14.0/docs/architecture → easydiffraction-0.16.0/docs/dev}/cryspy-dwf-bug.md +0 -0
- {easydiffraction-0.14.0/docs/architecture → easydiffraction-0.16.0/docs/dev}/issues_closed.md +0 -0
- {easydiffraction-0.14.0/docs/architecture → easydiffraction-0.16.0/docs/dev}/package-structure-short.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/analysis.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/core.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/crystallography.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/datablocks/experiment.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/datablocks/structure.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/display.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/index.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/io.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/project.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/summary.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/api-reference/utils.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/images/favicon.png +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/images/logo_dark.svg +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/images/logo_light.svg +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/images/user-guide/data-acquisition_2d-raw-data.jpg +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/images/user-guide/data-acquisition_instrument.png +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/images/user-guide/data-analysis_model.png +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/images/user-guide/data-analysis_refinement.png +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/images/user-guide/data-reduction_1d-pattern.png +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/javascripts/extra.js +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/javascripts/mathjax.js +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/assets/stylesheets/extra.css +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/cli/index.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/index.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/installation-and-setup/index.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-10.ipynb +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-10.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-11.ipynb +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-11.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-12.ipynb +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-12.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-13.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-14.ipynb +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-14.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-15.ipynb +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-15.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-9.ipynb +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/ed-9.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/index.json +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/tutorials/index.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/analysis-workflow/analysis.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/analysis-workflow/experiment.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/analysis-workflow/index.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/analysis-workflow/model.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/analysis-workflow/project.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/analysis-workflow/summary.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/concept.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/data-format.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/first-steps.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/glossary.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/index.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/_diffrn_radiation.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/_diffrn_radiation_wavelength.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/_exptl_crystal.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/_extinction.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/_pd_calib.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/atom_site.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/background.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/cell.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/expt_type.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/instrument.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/linked_phases.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/pd_meas.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/peak.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters/space_group.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/docs/user-guide/parameters.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/includes/abbreviations.md +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/overrides/.icons/app.svg +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/overrides/.icons/easydiffraction.svg +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/overrides/.icons/easyscience.svg +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/overrides/.icons/google-colab.svg +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/overrides/main.html +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/docs/overrides/partials/logo.html +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/prettierrc.toml +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/__main__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/calculators/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/calculators/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/calculators/pdffit.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/aliases/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/aliases/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/aliases/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/constraints/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/constraints/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/constraints/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/fit/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/fit/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/fit/enums.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/fit/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/joint_fit_experiments/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/joint_fit_experiments/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/categories/joint_fit_experiments/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/fit_helpers/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/fit_helpers/reporting.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/fit_helpers/tracking.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/bumps.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/bumps_amoeba.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/bumps_de.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/bumps_lm.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/dfols.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/enums.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/lmfit.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/lmfit_least_squares.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/minimizers/lmfit_leastsq.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/analysis/sequential.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/category.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/collection.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/datablock.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/diagnostic.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/guard.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/identity.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/metadata.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/singleton.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/core/validation.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/crystallography/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/crystallography/space_groups.pkl.gz +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/crystallography/space_groups.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/background/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/background/base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/background/chebyshev.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/background/enums.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/background/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/background/line_segment.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/calculation/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/calculation/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/calculation/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/data/total_pd.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/extinction/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/extinction/becker_coppens.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/extinction/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/instrument/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/instrument/base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/instrument/cwl.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/instrument/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/instrument/tof.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/peak/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/peak/base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/peak/cwl.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/peak/cwl_mixins.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/peak/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/peak/tof.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/peak/tof_mixins.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/peak/total.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/categories/peak/total_mixins.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/collection.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/item/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/item/enums.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/item/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/experiment/item/total_pd.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/enums.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/cell/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/cell/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/space_group/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/space_group/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/categories/space_group/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/collection.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/item/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/item/base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/datablocks/structure/item/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/plotters/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/tablers/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/tablers/base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/tablers/pandas.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/tablers/rich.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/tables.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/display/utils.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/io/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/io/ascii.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/io/cif/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/io/cif/handler.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/io/cif/parse.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/io/cif/serialize.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/project/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/project/categories/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/project/categories/display/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/project/categories/display/default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/project/categories/display/factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/project/project.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/project/project_info.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/summary/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/summary/summary.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/utils/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/utils/_vendored/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/utils/_vendored/jupyter_dark_detect/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/utils/_vendored/jupyter_dark_detect/detector.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/utils/_vendored/theme_detect.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/utils/enums.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/utils/environment.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/utils/logging.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/src/easydiffraction/utils/utils.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/functional/conftest.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/functional/test_adp_switching.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/functional/test_experiment_workflow.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/functional/test_fitting_workflow.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/functional/test_project_lifecycle.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/functional/test_switchable_categories.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/conftest.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_analysis_display.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_aniso_adp_fitting.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_cif_round_trip.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_exploration_help.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_multi.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_pair-distribution-function.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_plotting.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_powder-diffraction_constant-wavelength.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_powder-diffraction_joint-fit.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_powder-diffraction_time-of-flight.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_project_load.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_sequential.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_single-crystal-diffraction.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/fitting/test_summary_report.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/scipp-analysis/dream/conftest.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/scipp-analysis/dream/test_analyze_reduced_data.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/scipp-analysis/dream/test_package_import.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/scipp-analysis/dream/test_read_reduced_data.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/scipp-analysis/dream/test_validate_meta_data.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/integration/scipp-analysis/dream/test_validate_physical_data.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/calculators/test_base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/calculators/test_crysfml.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/calculators/test_factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/calculators/test_pdffit.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/categories/test_aliases.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/categories/test_constraints.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/categories/test_fit.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/categories/test_joint_fit_experiments.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/fit_helpers/test_metrics.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/fit_helpers/test_reporting.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/fit_helpers/test_tracking.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps_amoeba.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps_de.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps_lm.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_dfols.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_enums.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_lmfit.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_lmfit_least_squares.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/minimizers/test_lmfit_leastsq.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/test_analysis.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/test_analysis_access_params.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/test_analysis_coverage.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/test_fitting.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/analysis/test_sequential.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_category.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_collection.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_datablock.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_diagnostic.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_guard.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_identity.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_metadata.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_singletons.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/core/test_validation.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/crystallography/test_crystallography.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/crystallography/test_space_groups.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/crystallography/test_space_groups_coverage.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_chebyshev.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_enums.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_line_segment.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/calculation/test_default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/calculation/test_factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_bragg_pd.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_total_pd.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_cwl.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_tof.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_cwl.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_cwl_mixins.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_tof.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_tof_mixins.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_total.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_total_mixins.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_diffrn.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_excluded_regions.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_experiment_type.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_extinction.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_linked_crystal.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_linked_phases.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_base_coverage.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_sc.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_enums.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_enums_coverage.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_factory_coverage.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_total_pd.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/experiment/test_collection.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/structure/categories/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_atom_site_aniso.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_atom_sites.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_cell.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_space_group.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/structure/item/test_base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/structure/item/test_base_coverage.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/structure/item/test_factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/structure/test_collection.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/datablocks/structure/test_collection_coverage.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/plotters/test_base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/tablers/__init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/tablers/test_base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/tablers/test_pandas.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/tablers/test_rich.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/test_base.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/test_tables.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/display/test_utils.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/io/cif/test_handler.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/io/cif/test_parse.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/io/cif/test_serialize.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/io/cif/test_serialize_more.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/io/test_ascii.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/project/categories/display/test_default.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/project/categories/display/test_factory.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/project/test_project.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/project/test_project_info.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/project/test_project_load.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/project/test_project_load_and_summary_wrap.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/project/test_project_save.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/summary/test_summary.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/summary/test_summary_details.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/test___init__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/test___main__.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/utils/test_enums.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/utils/test_environment.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/utils/test_environment_coverage.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/utils/test_logging.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/utils/test_logging_coverage.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/utils/test_theme_detect.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/utils/test_utils.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tests/unit/easydiffraction/utils/test_utils_coverage.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tools/gen_tests_scaffold.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tools/generate_package_docs.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tools/naming_check.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tools/param_consistency.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tools/test_scripts.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tools/test_structure_check.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tools/tweak_notebooks.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tools/update_docs_assets.py +0 -0
- {easydiffraction-0.14.0 → easydiffraction-0.16.0}/tools/update_github_labels.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# WARNING: Do not edit this file manually.
|
|
2
2
|
# Any changes will be overwritten by Copier.
|
|
3
|
-
_commit: v0.
|
|
3
|
+
_commit: v0.11.0-7-gb5113cf
|
|
4
4
|
_src_path: gh:easyscience/templates
|
|
5
5
|
app_docs_url: https://easyscience.github.io/diffraction-app
|
|
6
6
|
app_doi: 10.5281/zenodo.18163581
|
|
@@ -17,9 +17,8 @@ lib_python_min: '3.12'
|
|
|
17
17
|
lib_repo_name: diffraction-lib
|
|
18
18
|
project_contact_email: support@easydiffraction.org
|
|
19
19
|
project_copyright_years: 2021-2026
|
|
20
|
-
project_extended_description: A software for calculating
|
|
21
|
-
|
|
22
|
-
data
|
|
20
|
+
project_extended_description: A software for calculating diffraction patterns based
|
|
21
|
+
on a structural model and refining its parameters against experimental data
|
|
23
22
|
project_name: EasyDiffraction
|
|
24
23
|
project_short_description: Diffraction data analysis
|
|
25
24
|
project_shortcut: ED
|
{easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/actions/download-artifact/action.yml
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: 'Download artifact'
|
|
2
|
-
description: '
|
|
2
|
+
description: 'Wrapper for actions/download-artifact'
|
|
3
3
|
inputs:
|
|
4
4
|
name:
|
|
5
5
|
description: 'Name of the artifact to download'
|
|
@@ -39,7 +39,7 @@ runs:
|
|
|
39
39
|
using: 'composite'
|
|
40
40
|
steps:
|
|
41
41
|
- name: Download artifact
|
|
42
|
-
uses: actions/download-artifact@
|
|
42
|
+
uses: actions/download-artifact@v8
|
|
43
43
|
with:
|
|
44
44
|
name: ${{ inputs.name }}
|
|
45
45
|
path: ${{ inputs.path }}
|
{easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/actions/setup-easyscience-bot/action.yml
RENAMED
|
@@ -22,9 +22,9 @@ runs:
|
|
|
22
22
|
steps:
|
|
23
23
|
- name: Create GitHub App installation token
|
|
24
24
|
id: app-token
|
|
25
|
-
uses: actions/create-github-app-token@
|
|
25
|
+
uses: actions/create-github-app-token@v3
|
|
26
26
|
with:
|
|
27
|
-
|
|
27
|
+
client-id: ${{ inputs.app-id }}
|
|
28
28
|
private-key: ${{ inputs.private-key }}
|
|
29
29
|
repositories: ${{ inputs.repositories }}
|
|
30
30
|
|
{easydiffraction-0.14.0 → easydiffraction-0.16.0}/.github/actions/upload-artifact/action.yml
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: 'Upload artifact'
|
|
2
|
-
description: '
|
|
2
|
+
description: 'Wrapper for actions/upload-artifact'
|
|
3
3
|
inputs:
|
|
4
4
|
name:
|
|
5
5
|
description: 'Artifact name'
|
|
@@ -38,7 +38,7 @@ runs:
|
|
|
38
38
|
using: 'composite'
|
|
39
39
|
steps:
|
|
40
40
|
- name: Upload artifact
|
|
41
|
-
uses: actions/upload-artifact@
|
|
41
|
+
uses: actions/upload-artifact@v7
|
|
42
42
|
with:
|
|
43
43
|
name: ${{ inputs.name }}
|
|
44
44
|
path: ${{ inputs.path }}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: 'Upload coverage to Codecov'
|
|
2
|
-
description: '
|
|
2
|
+
description: 'Wrapper for codecov/codecov-action'
|
|
3
3
|
|
|
4
4
|
inputs:
|
|
5
5
|
name:
|
|
@@ -32,7 +32,7 @@ inputs:
|
|
|
32
32
|
runs:
|
|
33
33
|
using: composite
|
|
34
34
|
steps:
|
|
35
|
-
- uses: codecov/codecov-action@
|
|
35
|
+
- uses: codecov/codecov-action@v6
|
|
36
36
|
with:
|
|
37
37
|
name: ${{ inputs.name }}
|
|
38
38
|
flags: ${{ inputs.flags }}
|
|
@@ -0,0 +1,193 @@
|
|
|
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`).
|
|
38
|
+
- Public attrs are either editable (getter+setter property) or read-only
|
|
39
|
+
(getter only). For internal mutation of read-only props, use a private
|
|
40
|
+
`_set_<name>` method, not a public setter.
|
|
41
|
+
- Lint complexity thresholds in `pyproject.toml` (`max-args`,
|
|
42
|
+
`max-branches`, `max-statements`, `max-locals`, `max-nested-blocks`,
|
|
43
|
+
…) are guardrails. A violation means refactor (extract helpers,
|
|
44
|
+
parameter objects, flatten) — do not raise thresholds, add `# noqa`,
|
|
45
|
+
or otherwise silence them. For complex refactors touching many lines
|
|
46
|
+
or public API, propose a plan and wait for approval.
|
|
47
|
+
|
|
48
|
+
## Architecture
|
|
49
|
+
|
|
50
|
+
- Eager top-of-module imports by default. Lazy imports only to break
|
|
51
|
+
circular deps or to keep `core/` free of heavy imports on rarely-
|
|
52
|
+
called paths (e.g. `help()`).
|
|
53
|
+
- No `pkgutil`/`importlib` auto-discovery, no background threads, no
|
|
54
|
+
monkey-patching or runtime class mutation.
|
|
55
|
+
- No `__all__`; control public API via explicit `__init__.py` imports.
|
|
56
|
+
No redundant `import X as X` aliases.
|
|
57
|
+
- Concrete classes use `@Factory.register`. Each package's `__init__.py`
|
|
58
|
+
must explicitly import every concrete class to trigger registration —
|
|
59
|
+
always update it when adding a class.
|
|
60
|
+
- Switchable categories (factory-swappable at runtime) follow this fixed
|
|
61
|
+
API on the owner (experiment / structure / analysis): `<category>`
|
|
62
|
+
(read-only), `<category>_type` (getter+setter),
|
|
63
|
+
`show_supported_<category>_types()`, `show_current_<category>_type()`.
|
|
64
|
+
The owner owns the type setter and show methods; show methods delegate
|
|
65
|
+
to `Factory.show_supported(...)`. Required even if only one
|
|
66
|
+
implementation exists.
|
|
67
|
+
- Categories are flat siblings within their owner. Never nest a category
|
|
68
|
+
as a child of another category of a different type; cross-reference
|
|
69
|
+
via IDs instead.
|
|
70
|
+
- Every finite, closed set of values (factory tags, axes, enumerated
|
|
71
|
+
descriptors) is a `(str, Enum)`; compare against members, not raw
|
|
72
|
+
strings.
|
|
73
|
+
- Keep `core/` free of domain logic (base classes and utilities only).
|
|
74
|
+
- Don't introduce abstractions before a concrete second use case. Don't
|
|
75
|
+
add dependencies without asking.
|
|
76
|
+
|
|
77
|
+
## Testing
|
|
78
|
+
|
|
79
|
+
- Every new module, class, or bug fix ships with tests. See
|
|
80
|
+
`docs/architecture/architecture.md` §10 for the full strategy.
|
|
81
|
+
- Unit tests mirror the source tree:
|
|
82
|
+
`src/easydiffraction/<pkg>/<mod>.py` →
|
|
83
|
+
`tests/unit/easydiffraction/<pkg>/test_<mod>.py`. Verify with
|
|
84
|
+
`pixi run test-structure-check`. Supplementary tests:
|
|
85
|
+
`test_<mod>_coverage.py`. Category packages with only
|
|
86
|
+
`default.py`/`factory.py` may use one parent-level
|
|
87
|
+
`test_<package>.py`.
|
|
88
|
+
- Tests expecting `log.error()` to raise must `monkeypatch` Logger to
|
|
89
|
+
RAISE mode (another test may have leaked WARN mode).
|
|
90
|
+
- `@typechecked` setters raise `typeguard.TypeCheckError`, not
|
|
91
|
+
`TypeError`.
|
|
92
|
+
- No test-ordering dependence, no network, no sleeping, no real
|
|
93
|
+
calculation engines in unit tests.
|
|
94
|
+
|
|
95
|
+
## Tutorials
|
|
96
|
+
|
|
97
|
+
- Notebooks in `docs/docs/tutorials/*.ipynb` are generated artifacts.
|
|
98
|
+
Edit only the corresponding `*.py`, then run
|
|
99
|
+
`pixi run notebook-prepare`.
|
|
100
|
+
|
|
101
|
+
## Change Discipline
|
|
102
|
+
|
|
103
|
+
- Before any structural/design change (new categories, factories,
|
|
104
|
+
switchable-category wiring, datablocks, CIF serialisation), read
|
|
105
|
+
`docs/architecture/architecture.md` and follow documented patterns.
|
|
106
|
+
Localised bug fixes or test updates need only this file.
|
|
107
|
+
- Project is in beta: no legacy shims, no deprecation warnings — update
|
|
108
|
+
tests and tutorials to the current API.
|
|
109
|
+
- Minimal diffs; don't reformat working code. Fix only what's asked;
|
|
110
|
+
flag adjacent issues as comments. Don't add features or refactor
|
|
111
|
+
unless asked. Don't remove TODOs or comments unless the change fully
|
|
112
|
+
resolves them.
|
|
113
|
+
- Never remove or replace existing functionality without explicit
|
|
114
|
+
confirmation — highlight every removal and wait for approval.
|
|
115
|
+
- When renaming, grep the entire project (code, tests, tutorials, docs).
|
|
116
|
+
- Each change is atomic and single-commit-sized: make one change,
|
|
117
|
+
suggest the commit message, then stop and wait for confirmation.
|
|
118
|
+
- When in doubt, ask.
|
|
119
|
+
|
|
120
|
+
## Commits
|
|
121
|
+
|
|
122
|
+
- Suggest a commit message after each change: code block, ≤72 chars,
|
|
123
|
+
imperative mood, no type prefix, no `Co-authored-by: Copilot`.
|
|
124
|
+
Examples:
|
|
125
|
+
- Add ChebyshevPolynomialBackground class
|
|
126
|
+
- Implement background_type setter on Experiment
|
|
127
|
+
- Standardize switchable-category naming convention
|
|
128
|
+
- Stage only the files modified for the step, using explicit paths where
|
|
129
|
+
practical. Do not include data, project, CIF, or other generated
|
|
130
|
+
artifacts produced by integration/script/notebook tests unless the
|
|
131
|
+
user explicitly asked to update them.
|
|
132
|
+
- Before each commit, inspect the worktree and avoid staging unrelated
|
|
133
|
+
user changes. If unrelated dirty files exist, leave them untouched and
|
|
134
|
+
mention them only when relevant.
|
|
135
|
+
|
|
136
|
+
## Workflow
|
|
137
|
+
|
|
138
|
+
Non-trivial changes use a two-phase workflow:
|
|
139
|
+
|
|
140
|
+
- **Phase 1 — Implementation.** Code, docs, and architecture updates
|
|
141
|
+
only. Do not create or run tests unless the user explicitly asks. When
|
|
142
|
+
done, present for review and iterate until approved.
|
|
143
|
+
- **Phase 2 — Verification.** Add/update tests, then run `pixi run fix`,
|
|
144
|
+
`pixi run check`, `pixi run unit-tests`, `pixi run integration-tests`,
|
|
145
|
+
`pixi run script-tests`.
|
|
146
|
+
|
|
147
|
+
Notes:
|
|
148
|
+
|
|
149
|
+
- `pixi run fix` regenerates `docs/architecture/package-structure-*.md`
|
|
150
|
+
automatically — never edit those by hand. Don't review auto-fixes;
|
|
151
|
+
accept and move on. Then `pixi run check` until clean.
|
|
152
|
+
- Open issues / design questions / planned improvements live in
|
|
153
|
+
`docs/architecture/issues_open.md` (priority-ordered). On resolution,
|
|
154
|
+
move to `docs/architecture/issues_closed.md` and update
|
|
155
|
+
`architecture.md` if affected.
|
|
156
|
+
|
|
157
|
+
### Planning
|
|
158
|
+
|
|
159
|
+
When asked to create a plan:
|
|
160
|
+
|
|
161
|
+
- First gather enough repository context to make the plan concrete. Ask
|
|
162
|
+
all ambiguous or unclear questions in one concise batch; record
|
|
163
|
+
unresolved questions in the plan if the user wants it saved before
|
|
164
|
+
answering them.
|
|
165
|
+
- Save plans as `docs/dev/plan_<feature-name>.md` (lowercase,
|
|
166
|
+
dash-separated, e.g. `plan_background-refactor.md`). Use the same
|
|
167
|
+
`<feature-name>` for the implementation branch
|
|
168
|
+
(`feature/<feature-name>`). Do not push the branch unless asked.
|
|
169
|
+
- Include a status checklist with `[ ]` items; mark `[x]` as completed
|
|
170
|
+
during implementation.
|
|
171
|
+
- Apply the two-phase workflow (Phase 1 implementation, Phase 2
|
|
172
|
+
verification) to non-trivial plans. Stop after Phase 1 and ask the
|
|
173
|
+
user to review before starting Phase 2.
|
|
174
|
+
- The plan must explicitly state that, when an AI agent follows it,
|
|
175
|
+
every completed Phase 1 implementation step must be staged with
|
|
176
|
+
explicit paths and committed locally before moving to the next
|
|
177
|
+
implementation step or the Phase 1 review gate. Follow the rules in
|
|
178
|
+
**Commits**. Keep commits atomic, single-purpose, and aligned with
|
|
179
|
+
plan steps.
|
|
180
|
+
- If implementation uncovers a serious requirement, risk, design issue,
|
|
181
|
+
or scope change not covered by the plan, stop and ask the user for
|
|
182
|
+
clarification or approval before proceeding. Record the unresolved
|
|
183
|
+
issue in the plan when useful.
|
|
184
|
+
- The plan should be easy to maintain while working: include concrete
|
|
185
|
+
files likely to change, decisions already made, open questions,
|
|
186
|
+
verification commands for Phase 2, and a short suggested commit
|
|
187
|
+
message or branch name when useful.
|
|
188
|
+
- End every plan with a "Suggested Pull Request" section containing a
|
|
189
|
+
short PR title and a brief end-user-oriented description. Keep this
|
|
190
|
+
section non-technical enough for scientists and other users to
|
|
191
|
+
understand the benefit. Update it during implementation if extra
|
|
192
|
+
approved changes become important enough to mention in the PR title or
|
|
193
|
+
description.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
remote_repository="${DASHBOARD_REMOTE_REPOSITORY:?}"
|
|
6
|
+
publish_branch="${DASHBOARD_PUBLISH_BRANCH:-master}"
|
|
7
|
+
source_dir="${DASHBOARD_SOURCE_DIR:?}"
|
|
8
|
+
token="${DASHBOARD_TOKEN:?}"
|
|
9
|
+
git_user_name="${DASHBOARD_GIT_USER_NAME:-easyscience[bot]}"
|
|
10
|
+
git_user_email="${DASHBOARD_GIT_USER_EMAIL:?}"
|
|
11
|
+
commit_message="${DASHBOARD_COMMIT_MESSAGE:?}"
|
|
12
|
+
max_attempts="${DASHBOARD_PUSH_ATTEMPTS:-3}"
|
|
13
|
+
delay_seconds="${DASHBOARD_PUSH_DELAY_SECONDS:-15}"
|
|
14
|
+
|
|
15
|
+
workspace_dir="$(mktemp -d)"
|
|
16
|
+
repo_dir="${workspace_dir}/dashboard"
|
|
17
|
+
remote_url="https://x-access-token:${token}@github.com/${remote_repository}.git"
|
|
18
|
+
|
|
19
|
+
cleanup() {
|
|
20
|
+
rm -rf "${workspace_dir}"
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
prepare_worktree() {
|
|
24
|
+
if [[ ! -d "${repo_dir}/.git" ]]; then
|
|
25
|
+
git clone --branch "${publish_branch}" --depth 1 "${remote_url}" "${repo_dir}"
|
|
26
|
+
else
|
|
27
|
+
git -C "${repo_dir}" fetch origin "${publish_branch}"
|
|
28
|
+
git -C "${repo_dir}" checkout "${publish_branch}"
|
|
29
|
+
git -C "${repo_dir}" reset --hard "origin/${publish_branch}"
|
|
30
|
+
git -C "${repo_dir}" clean -fd
|
|
31
|
+
fi
|
|
32
|
+
|
|
33
|
+
git -C "${repo_dir}" config user.name "${git_user_name}"
|
|
34
|
+
git -C "${repo_dir}" config user.email "${git_user_email}"
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
sync_publish_dir() {
|
|
38
|
+
cp -R "${source_dir}/." "${repo_dir}/"
|
|
39
|
+
git -C "${repo_dir}" add .
|
|
40
|
+
|
|
41
|
+
if git -C "${repo_dir}" diff --cached --quiet; then
|
|
42
|
+
return 1
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
git -C "${repo_dir}" commit -m "${commit_message}"
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
trap cleanup EXIT
|
|
49
|
+
|
|
50
|
+
prepare_worktree
|
|
51
|
+
|
|
52
|
+
if ! sync_publish_dir; then
|
|
53
|
+
echo "No dashboard changes to publish."
|
|
54
|
+
exit 0
|
|
55
|
+
fi
|
|
56
|
+
|
|
57
|
+
for ((attempt = 1; attempt <= max_attempts; attempt += 1)); do
|
|
58
|
+
if git -C "${repo_dir}" push origin "HEAD:${publish_branch}"; then
|
|
59
|
+
echo "Dashboard published on attempt ${attempt}."
|
|
60
|
+
exit 0
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
if ((attempt == max_attempts)); then
|
|
64
|
+
echo "Dashboard publish failed after ${max_attempts} attempts." >&2
|
|
65
|
+
exit 1
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
echo "Dashboard push attempt ${attempt} failed. Retrying in ${delay_seconds}s." >&2
|
|
69
|
+
sleep "${delay_seconds}"
|
|
70
|
+
|
|
71
|
+
prepare_worktree
|
|
72
|
+
|
|
73
|
+
if ! sync_publish_dir; then
|
|
74
|
+
echo "Dashboard changes already exist in the target repository."
|
|
75
|
+
exit 0
|
|
76
|
+
fi
|
|
77
|
+
done
|
|
@@ -20,11 +20,6 @@ concurrency:
|
|
|
20
20
|
group: backmerge-master-into-develop
|
|
21
21
|
cancel-in-progress: false
|
|
22
22
|
|
|
23
|
-
# Opt into Node.js 24 for all JavaScript actions.
|
|
24
|
-
# Remove once all referenced actions natively target Node 24.
|
|
25
|
-
env:
|
|
26
|
-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
27
|
-
|
|
28
23
|
jobs:
|
|
29
24
|
backmerge:
|
|
30
25
|
runs-on: ubuntu-latest
|
|
@@ -32,7 +27,7 @@ jobs:
|
|
|
32
27
|
|
|
33
28
|
steps:
|
|
34
29
|
- name: Checkout repository (for local actions)
|
|
35
|
-
uses: actions/checkout@
|
|
30
|
+
uses: actions/checkout@v6
|
|
36
31
|
|
|
37
32
|
- name: Setup easyscience[bot]
|
|
38
33
|
id: bot
|
|
@@ -43,7 +38,7 @@ jobs:
|
|
|
43
38
|
repositories: ${{ github.event.repository.name }}
|
|
44
39
|
|
|
45
40
|
- name: Checkout repository (with bot token)
|
|
46
|
-
uses: actions/checkout@
|
|
41
|
+
uses: actions/checkout@v6
|
|
47
42
|
with:
|
|
48
43
|
fetch-depth: 0
|
|
49
44
|
token: ${{ steps.bot.outputs.token }}
|
|
@@ -15,11 +15,11 @@ on:
|
|
|
15
15
|
days:
|
|
16
16
|
description: 'Number of days.'
|
|
17
17
|
required: true
|
|
18
|
-
default: 30
|
|
18
|
+
default: '30'
|
|
19
19
|
minimum_runs:
|
|
20
20
|
description: 'The minimum runs to keep for each workflow.'
|
|
21
21
|
required: true
|
|
22
|
-
default: 6
|
|
22
|
+
default: '6'
|
|
23
23
|
delete_workflow_pattern:
|
|
24
24
|
description:
|
|
25
25
|
'The name or filename of the workflow. if not set then it will target all
|
|
@@ -61,11 +61,6 @@ on:
|
|
|
61
61
|
- 'false'
|
|
62
62
|
- 'true'
|
|
63
63
|
|
|
64
|
-
# Opt into Node.js 24 for all JavaScript actions.
|
|
65
|
-
# Remove once all referenced actions natively target Node 24.
|
|
66
|
-
env:
|
|
67
|
-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
68
|
-
|
|
69
64
|
jobs:
|
|
70
65
|
del-runs:
|
|
71
66
|
runs-on: ubuntu-latest
|
|
@@ -26,9 +26,6 @@ concurrency:
|
|
|
26
26
|
# Set the environment variables to be used in all jobs defined in this workflow
|
|
27
27
|
env:
|
|
28
28
|
CI_BRANCH: ${{ github.head_ref || github.ref_name }}
|
|
29
|
-
# Opt into Node.js 24 for all JavaScript actions.
|
|
30
|
-
# Remove once all referenced actions natively target Node 24.
|
|
31
|
-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
32
29
|
|
|
33
30
|
jobs:
|
|
34
31
|
# Job 1: Run docstring coverage
|
|
@@ -37,7 +34,7 @@ jobs:
|
|
|
37
34
|
|
|
38
35
|
steps:
|
|
39
36
|
- name: Check-out repository
|
|
40
|
-
uses: actions/checkout@
|
|
37
|
+
uses: actions/checkout@v6
|
|
41
38
|
|
|
42
39
|
- name: Set up pixi
|
|
43
40
|
uses: ./.github/actions/setup-pixi
|
|
@@ -51,7 +48,7 @@ jobs:
|
|
|
51
48
|
|
|
52
49
|
steps:
|
|
53
50
|
- name: Check-out repository
|
|
54
|
-
uses: actions/checkout@
|
|
51
|
+
uses: actions/checkout@v6
|
|
55
52
|
|
|
56
53
|
- name: Set up pixi
|
|
57
54
|
uses: ./.github/actions/setup-pixi
|
|
@@ -74,7 +71,7 @@ jobs:
|
|
|
74
71
|
|
|
75
72
|
steps:
|
|
76
73
|
- name: Check-out repository
|
|
77
|
-
uses: actions/checkout@
|
|
74
|
+
uses: actions/checkout@v6
|
|
78
75
|
|
|
79
76
|
- name: Set up pixi
|
|
80
77
|
uses: ./.github/actions/setup-pixi
|
|
@@ -7,6 +7,10 @@ on:
|
|
|
7
7
|
permissions:
|
|
8
8
|
contents: read
|
|
9
9
|
|
|
10
|
+
concurrency:
|
|
11
|
+
group: dashboard-publish-${{ github.repository }}
|
|
12
|
+
cancel-in-progress: false
|
|
13
|
+
|
|
10
14
|
# Set the environment variables to be used in all jobs defined in this workflow
|
|
11
15
|
env:
|
|
12
16
|
CI_BRANCH: ${{ github.head_ref || github.ref_name }}
|
|
@@ -14,9 +18,6 @@ env:
|
|
|
14
18
|
DEVELOP_BRANCH: develop
|
|
15
19
|
REPO_OWNER: ${{ github.repository_owner }}
|
|
16
20
|
REPO_NAME: ${{ github.event.repository.name }}
|
|
17
|
-
# Opt into Node.js 24 for all JavaScript actions.
|
|
18
|
-
# Remove once all referenced actions natively target Node 24.
|
|
19
|
-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
20
21
|
|
|
21
22
|
jobs:
|
|
22
23
|
dashboard:
|
|
@@ -24,7 +25,7 @@ jobs:
|
|
|
24
25
|
|
|
25
26
|
steps:
|
|
26
27
|
- name: Checkout repository
|
|
27
|
-
uses: actions/checkout@
|
|
28
|
+
uses: actions/checkout@v6
|
|
28
29
|
with:
|
|
29
30
|
fetch-depth: 0
|
|
30
31
|
|
|
@@ -84,22 +85,25 @@ jobs:
|
|
|
84
85
|
${{ github.event.repository.name }}
|
|
85
86
|
dashboard
|
|
86
87
|
|
|
87
|
-
#
|
|
88
|
+
# Push to external dashboard repository with retry logic.
|
|
88
89
|
# Retry is needed to handle transient GitHub API/authentication issues
|
|
89
90
|
# that occasionally cause 403 errors when multiple workflows push concurrently.
|
|
90
91
|
# Uses personal_token (not github_token) as GITHUB_TOKEN cannot access external repos.
|
|
91
|
-
- name:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
92
|
+
- name:
|
|
93
|
+
Push to ${{ env.REPO_OWNER }}/dashboard/${{ env.REPO_NAME }}/${{ env.CI_BRANCH
|
|
94
|
+
}}
|
|
95
|
+
shell: bash
|
|
96
|
+
env:
|
|
97
|
+
DASHBOARD_COMMIT_MESSAGE: ${{ env.CI_BRANCH }}
|
|
98
|
+
DASHBOARD_GIT_USER_EMAIL:
|
|
99
|
+
${{ vars.EASYSCIENCE_APP_ID }}+easyscience[bot]@users.noreply.github.com
|
|
100
|
+
DASHBOARD_PUSH_ATTEMPTS: '3'
|
|
101
|
+
DASHBOARD_PUSH_DELAY_SECONDS: '15'
|
|
102
|
+
DASHBOARD_PUBLISH_BRANCH: master
|
|
103
|
+
DASHBOARD_REMOTE_REPOSITORY: ${{ env.REPO_OWNER }}/dashboard
|
|
104
|
+
DASHBOARD_SOURCE_DIR: ./_dashboard_publish
|
|
105
|
+
DASHBOARD_TOKEN: ${{ steps.bot.outputs.token }}
|
|
106
|
+
run: bash ./.github/scripts/publish-dashboard.sh
|
|
103
107
|
|
|
104
108
|
- name: Add dashboard link to summary
|
|
105
109
|
run: |
|
|
@@ -48,9 +48,6 @@ env:
|
|
|
48
48
|
IS_RELEASE_TAG: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
|
49
49
|
GITHUB_REPOSITORY: ${{ github.repository }}
|
|
50
50
|
NOTEBOOKS_DIR: tutorials
|
|
51
|
-
# Opt into Node.js 24 for all JavaScript actions.
|
|
52
|
-
# Remove once all referenced actions natively target Node 24.
|
|
53
|
-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
54
51
|
|
|
55
52
|
jobs:
|
|
56
53
|
# Single job that builds and deploys documentation.
|
|
@@ -86,7 +83,7 @@ jobs:
|
|
|
86
83
|
# Check out the repository source code.
|
|
87
84
|
# Note: The gh-pages branch is fetched separately later for mike deployment.
|
|
88
85
|
- name: Checkout repository
|
|
89
|
-
uses: actions/checkout@
|
|
86
|
+
uses: actions/checkout@v6
|
|
90
87
|
|
|
91
88
|
# Activate dark mode to create documentation with Plotly charts in dark mode
|
|
92
89
|
# Need a better solution to automatically switch the chart colour theme based on the mkdocs material switcher
|
|
@@ -11,11 +11,6 @@ on:
|
|
|
11
11
|
permissions:
|
|
12
12
|
issues: write
|
|
13
13
|
|
|
14
|
-
# Opt into Node.js 24 for all JavaScript actions.
|
|
15
|
-
# Remove once all referenced actions natively target Node 24.
|
|
16
|
-
env:
|
|
17
|
-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
18
|
-
|
|
19
14
|
jobs:
|
|
20
15
|
check-labels:
|
|
21
16
|
if: github.actor != 'easyscience[bot]'
|
|
@@ -28,7 +23,7 @@ jobs:
|
|
|
28
23
|
|
|
29
24
|
steps:
|
|
30
25
|
- name: Checkout repository
|
|
31
|
-
uses: actions/checkout@
|
|
26
|
+
uses: actions/checkout@v6
|
|
32
27
|
|
|
33
28
|
- name: Setup easyscience[bot]
|
|
34
29
|
id: bot
|
|
@@ -34,9 +34,6 @@ permissions:
|
|
|
34
34
|
# Set the environment variables to be used in all jobs defined in this workflow
|
|
35
35
|
env:
|
|
36
36
|
CI_BRANCH: ${{ github.head_ref || github.ref_name }}
|
|
37
|
-
# Opt into Node.js 24 for all JavaScript actions.
|
|
38
|
-
# Remove once all referenced actions natively target Node 24.
|
|
39
|
-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
40
37
|
|
|
41
38
|
jobs:
|
|
42
39
|
lint-format:
|
|
@@ -44,7 +41,7 @@ jobs:
|
|
|
44
41
|
|
|
45
42
|
steps:
|
|
46
43
|
- name: Checkout repository
|
|
47
|
-
uses: actions/checkout@
|
|
44
|
+
uses: actions/checkout@v6
|
|
48
45
|
|
|
49
46
|
- name: Set up pixi
|
|
50
47
|
uses: ./.github/actions/setup-pixi
|
|
@@ -10,11 +10,6 @@ on:
|
|
|
10
10
|
# Allows you to run this workflow manually from the Actions tab
|
|
11
11
|
workflow_dispatch:
|
|
12
12
|
|
|
13
|
-
# Opt into Node.js 24 for all JavaScript actions.
|
|
14
|
-
# Remove once all referenced actions natively target Node 24.
|
|
15
|
-
env:
|
|
16
|
-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
17
|
-
|
|
18
13
|
jobs:
|
|
19
14
|
pypi-publish:
|
|
20
15
|
runs-on: ubuntu-latest
|
|
@@ -25,7 +20,7 @@ jobs:
|
|
|
25
20
|
|
|
26
21
|
steps:
|
|
27
22
|
- name: Check-out repository
|
|
28
|
-
uses: actions/checkout@
|
|
23
|
+
uses: actions/checkout@v6
|
|
29
24
|
with:
|
|
30
25
|
fetch-depth: 0 # full history with tags to get the version number by versioningit
|
|
31
26
|
|
|
@@ -20,9 +20,6 @@ permissions:
|
|
|
20
20
|
env:
|
|
21
21
|
CI_BRANCH: ${{ github.head_ref || github.ref_name }}
|
|
22
22
|
DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
|
|
23
|
-
# Opt into Node.js 24 for all JavaScript actions.
|
|
24
|
-
# Remove once all referenced actions natively target Node 24.
|
|
25
|
-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
26
23
|
|
|
27
24
|
jobs:
|
|
28
25
|
# Job 1: Test installation from PyPI on multiple OS
|
|
@@ -35,7 +32,7 @@ jobs:
|
|
|
35
32
|
|
|
36
33
|
steps:
|
|
37
34
|
- name: Checkout repository
|
|
38
|
-
uses: actions/checkout@
|
|
35
|
+
uses: actions/checkout@v6
|
|
39
36
|
|
|
40
37
|
- name: Set up pixi
|
|
41
38
|
uses: ./.github/actions/setup-pixi
|
|
@@ -50,7 +47,9 @@ jobs:
|
|
|
50
47
|
|
|
51
48
|
- name: Set the minimum system requirements
|
|
52
49
|
working-directory: easydiffraction
|
|
53
|
-
run:
|
|
50
|
+
run: |
|
|
51
|
+
pixi project system-requirements add macos 14.0
|
|
52
|
+
pixi project system-requirements add glibc 2.35
|
|
54
53
|
|
|
55
54
|
- name: Add Python 3.14 from Conda
|
|
56
55
|
working-directory: easydiffraction
|
|
@@ -62,12 +61,12 @@ jobs:
|
|
|
62
61
|
pixi add gsl
|
|
63
62
|
pixi add --platform osx-arm64 libcxx
|
|
64
63
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
#- name: Add pycrysfml calculator from custom PyPI index
|
|
65
|
+
# working-directory: easydiffraction
|
|
66
|
+
# run: |
|
|
67
|
+
# echo '' >> pixi.toml
|
|
68
|
+
# echo '[pypi-dependencies]' >> pixi.toml
|
|
69
|
+
# echo 'pycrysfml = { version = ">=0.2.1", index = "https://easyscience.github.io/pypi/" }' >> pixi.toml
|
|
71
70
|
|
|
72
71
|
- name: Add easydiffraction (with dev dependencies) from PyPI
|
|
73
72
|
working-directory: easydiffraction
|