easyscience 2.4.0__tar.gz → 3.0.2__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.
- {easyscience-2.4.0 → easyscience-3.0.2}/.copier-answers.yml +1 -1
- easyscience-3.0.2/.github/workflows/pypi-publish-check.yml +77 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/pypi-publish.yml +3 -1
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/pypi-test.yml +0 -4
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/test.yml +0 -34
- {easyscience-2.4.0 → easyscience-3.0.2}/PKG-INFO +3 -3
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/api-reference/index.md +7 -10
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/introduction/index.md +1 -1
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/tutorials/fitting-bayesian.ipynb +251 -62
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/tutorials/fitting-qens.ipynb +6 -6
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/tutorials/fitting-sans.ipynb +6 -6
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/tutorials/progress-callback.ipynb +20 -28
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/user-guide/controlling-log-output.md +1 -5
- easyscience-3.0.2/docs/docs/user-guide/external-calculators.md +332 -0
- easyscience-3.0.2/docs/docs/user-guide/index.md +17 -0
- easyscience-3.0.2/docs/docs/user-guide/parameter-dependency-serialization.md +179 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/mkdocs.yml +3 -2
- {easyscience-2.4.0 → easyscience-3.0.2}/pixi.lock +6535 -5988
- {easyscience-2.4.0 → easyscience-3.0.2}/pixi.toml +9 -12
- easyscience-3.0.2/prettierrc.toml +24 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/pyproject.toml +82 -85
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/__init__.py +6 -8
- easyscience-3.0.2/src/easyscience/base_classes/__init__.py +7 -0
- easyscience-2.4.0/src/easyscience/base_classes/new_base.py → easyscience-3.0.2/src/easyscience/base_classes/easy_base.py +36 -36
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/base_classes/easy_list.py +54 -30
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/base_classes/model_base.py +5 -14
- {easyscience-2.4.0/src/easyscience/io → easyscience-3.0.2/src/easyscience/base_classes}/serializer_base.py +48 -83
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/fitting/__init__.py +2 -3
- easyscience-3.0.2/src/easyscience/fitting/engine_base.py +241 -0
- easyscience-3.0.2/src/easyscience/fitting/fitter.py +328 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/fitting/minimizers/__init__.py +1 -2
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/fitting/minimizers/bumps_utils/__init__.py +4 -2
- easyscience-3.0.2/src/easyscience/fitting/minimizers/bumps_utils/problem.py +134 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/fitting/minimizers/factory.py +6 -8
- easyscience-3.0.2/src/easyscience/fitting/minimizers/minimizer_base.py +139 -0
- easyscience-3.0.2/src/easyscience/fitting/minimizers/minimizer_bumps.py +439 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/fitting/minimizers/minimizer_dfo.py +24 -96
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/fitting/minimizers/minimizer_lmfit.py +34 -116
- easyscience-2.4.0/src/easyscience/fitting/available_minimizers.py → easyscience-3.0.2/src/easyscience/fitting/minimizers/minimizers.py +3 -37
- easyscience-3.0.2/src/easyscience/fitting/multi_fitter.py +146 -0
- easyscience-3.0.2/src/easyscience/fitting/reshaping.py +216 -0
- easyscience-3.0.2/src/easyscience/fitting/sampler.py +854 -0
- easyscience-3.0.2/src/easyscience/fitting/samplers/__init__.py +5 -0
- easyscience-3.0.2/src/easyscience/fitting/samplers/sampler_bumps.py +367 -0
- easyscience-3.0.2/src/easyscience/fitting/samplers/validation.py +33 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/global_object/__init__.py +1 -3
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/global_object/global_object.py +5 -23
- easyscience-3.0.2/src/easyscience/global_object/object_registry.py +77 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/job/analysis.py +12 -20
- easyscience-3.0.2/src/easyscience/job/experiment.py +20 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/job/job.py +5 -5
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/job/theoreticalmodel.py +6 -9
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/variable/__init__.py +6 -8
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/variable/descriptor_array.py +54 -67
- easyscience-3.0.2/src/easyscience/variable/descriptor_base.py +156 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/variable/descriptor_bool.py +26 -11
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/variable/descriptor_number.py +55 -69
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/variable/descriptor_str.py +26 -9
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/variable/parameter.py +35 -171
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/variable/parameter_dependency_resolver.py +2 -2
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/conftest.py +6 -3
- easyscience-3.0.2/tests/helpers/easy_test_models.py +111 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/integration/fitting/test_fitter.py +193 -105
- easyscience-3.0.2/tests/integration/fitting/test_multi_fitter.py +304 -0
- easyscience-3.0.2/tests/integration/fitting/test_sampler.py +450 -0
- easyscience-3.0.2/tests/integration/fitting/test_stateless_calculator.py +139 -0
- easyscience-2.4.0/tests/unit/base_classes/test_new_base.py → easyscience-3.0.2/tests/unit/base_classes/test_easy_base.py +126 -49
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/base_classes/test_easy_list.py +253 -31
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/base_classes/test_model_base.py +19 -28
- easyscience-3.0.2/tests/unit/base_classes/test_model_with_easy_list.py +112 -0
- {easyscience-2.4.0/tests/unit/io → easyscience-3.0.2/tests/unit/base_classes}/test_serializer_base.py +106 -77
- easyscience-3.0.2/tests/unit/fitting/minimizers/bumps_utils/__init__.py +2 -0
- easyscience-3.0.2/tests/unit/fitting/minimizers/bumps_utils/test_problem.py +166 -0
- easyscience-3.0.2/tests/unit/fitting/minimizers/test_factory.py +57 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/fitting/minimizers/test_minimizer_base.py +5 -5
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/fitting/minimizers/test_minimizer_bumps.py +247 -469
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/fitting/minimizers/test_minimizer_dfo.py +10 -127
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/fitting/minimizers/test_minimizer_lmfit.py +50 -114
- easyscience-3.0.2/tests/unit/fitting/samplers/__init__.py +2 -0
- easyscience-3.0.2/tests/unit/fitting/samplers/test_sampler_bumps.py +486 -0
- easyscience-3.0.2/tests/unit/fitting/samplers/test_validation.py +36 -0
- easyscience-3.0.2/tests/unit/fitting/test_engine_base.py +47 -0
- easyscience-3.0.2/tests/unit/fitting/test_fitter.py +224 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/fitting/test_multi_fitter.py +143 -8
- easyscience-3.0.2/tests/unit/fitting/test_reshaping.py +100 -0
- easyscience-3.0.2/tests/unit/fitting/test_sampler.py +682 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/global_object/test_global_object.py +22 -48
- easyscience-3.0.2/tests/unit/global_object/test_integration_comprehensive.py +293 -0
- easyscience-3.0.2/tests/unit/global_object/test_object_registry.py +262 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/io/test_serializer_component.py +2 -4
- easyscience-3.0.2/tests/unit/job/__init__.py +2 -0
- easyscience-3.0.2/tests/unit/job/test_job.py +141 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/variable/test_descriptor_array.py +434 -318
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/variable/test_descriptor_base.py +22 -50
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/variable/test_descriptor_bool.py +2 -7
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/variable/test_descriptor_number.py +58 -97
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/variable/test_descriptor_str.py +2 -7
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/variable/test_parameter.py +497 -314
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/variable/test_parameter_dependency_serialization.py +97 -99
- easyscience-2.4.0/docs/docs/api-reference/io.md +0 -1
- easyscience-2.4.0/docs/docs/api-reference/models.md +0 -1
- easyscience-2.4.0/docs/docs/user-guide/index.md +0 -10
- easyscience-2.4.0/legacy/Examples/README.rst +0 -4
- easyscience-2.4.0/legacy/Examples/base/README.rst +0 -6
- easyscience-2.4.0/legacy/Examples/base/plot_baseclass1.py +0 -97
- easyscience-2.4.0/legacy/Examples/fitting/README.rst +0 -6
- easyscience-2.4.0/legacy/PARAMETER_DEPENDENCY_SERIALIZATION.md +0 -259
- easyscience-2.4.0/legacy/examples_old/dataset_examples.ipynb +0 -1254
- easyscience-2.4.0/legacy/examples_old/dimer_example.ipynb +0 -1144
- easyscience-2.4.0/legacy/examples_old/example1.py +0 -30
- easyscience-2.4.0/legacy/examples_old/example1_dream.py +0 -45
- easyscience-2.4.0/legacy/examples_old/example2.py +0 -53
- easyscience-2.4.0/legacy/examples_old/example3.py +0 -101
- easyscience-2.4.0/legacy/examples_old/example4.py +0 -448
- easyscience-2.4.0/legacy/examples_old/example5_broken.py +0 -367
- easyscience-2.4.0/legacy/examples_old/example6_broken.py +0 -446
- easyscience-2.4.0/legacy/examples_old/example_dataset.py +0 -56
- easyscience-2.4.0/legacy/examples_old/example_dataset2.py +0 -50
- easyscience-2.4.0/legacy/examples_old/example_dataset2pt2.py +0 -57
- easyscience-2.4.0/legacy/examples_old/example_dataset2pt2_broken.py +0 -57
- easyscience-2.4.0/legacy/examples_old/example_dataset3.py +0 -92
- easyscience-2.4.0/legacy/examples_old/example_dataset3pt2.py +0 -62
- easyscience-2.4.0/legacy/examples_old/example_dataset4.py +0 -49
- easyscience-2.4.0/legacy/examples_old/example_dataset4_2.py +0 -67
- easyscience-2.4.0/prettierrc.toml +0 -22
- easyscience-2.4.0/src/easyscience/base_classes/__init__.py +0 -11
- easyscience-2.4.0/src/easyscience/base_classes/based_base.py +0 -269
- easyscience-2.4.0/src/easyscience/base_classes/collection_base.py +0 -18
- easyscience-2.4.0/src/easyscience/base_classes/obj_base.py +0 -18
- easyscience-2.4.0/src/easyscience/fitting/calculators/__init__.py +0 -6
- easyscience-2.4.0/src/easyscience/fitting/calculators/interface_factory.py +0 -268
- easyscience-2.4.0/src/easyscience/fitting/fitter.py +0 -529
- easyscience-2.4.0/src/easyscience/fitting/minimizers/minimizer_base.py +0 -340
- easyscience-2.4.0/src/easyscience/fitting/minimizers/minimizer_bumps.py +0 -694
- easyscience-2.4.0/src/easyscience/fitting/multi_fitter.py +0 -191
- easyscience-2.4.0/src/easyscience/global_object/hugger/hugger.py +0 -221
- easyscience-2.4.0/src/easyscience/global_object/hugger/property.py +0 -281
- easyscience-2.4.0/src/easyscience/global_object/map.py +0 -337
- easyscience-2.4.0/src/easyscience/global_object/undo_redo.py +0 -472
- easyscience-2.4.0/src/easyscience/io/__init__.py +0 -12
- easyscience-2.4.0/src/easyscience/io/serializer_component.py +0 -123
- easyscience-2.4.0/src/easyscience/io/serializer_dict.py +0 -78
- easyscience-2.4.0/src/easyscience/job/experiment.py +0 -19
- easyscience-2.4.0/src/easyscience/legacy/__init__.py +0 -7
- easyscience-2.4.0/src/easyscience/legacy/collection_base.py +0 -338
- easyscience-2.4.0/src/easyscience/legacy/dict.py +0 -179
- easyscience-2.4.0/src/easyscience/legacy/json.py +0 -139
- easyscience-2.4.0/src/easyscience/legacy/legacy_core.py +0 -220
- easyscience-2.4.0/src/easyscience/legacy/obj_base.py +0 -171
- easyscience-2.4.0/src/easyscience/legacy/xml.py +0 -197
- easyscience-2.4.0/src/easyscience/models/__init__.py +0 -4
- easyscience-2.4.0/src/easyscience/models/polynomial.py +0 -78
- easyscience-2.4.0/src/easyscience/utils/classTools.py +0 -66
- easyscience-2.4.0/src/easyscience/variable/descriptor_any_type.py +0 -105
- easyscience-2.4.0/src/easyscience/variable/descriptor_base.py +0 -289
- easyscience-2.4.0/tests/functional/test_smoke.py +0 -20
- easyscience-2.4.0/tests/integration/fitting/test_multi_fitter.py +0 -500
- easyscience-2.4.0/tests/unit/base_classes/test_collection_base.py +0 -545
- easyscience-2.4.0/tests/unit/base_classes/test_deprecated_wrappers.py +0 -87
- easyscience-2.4.0/tests/unit/base_classes/test_obj_base.py +0 -498
- easyscience-2.4.0/tests/unit/fitting/calculators/test_interface_factory.py +0 -563
- easyscience-2.4.0/tests/unit/fitting/minimizers/test_factory.py +0 -110
- easyscience-2.4.0/tests/unit/fitting/test_fitter.py +0 -413
- easyscience-2.4.0/tests/unit/global_object/__init__.py +0 -3
- easyscience-2.4.0/tests/unit/global_object/test_entry_list_comprehensive.py +0 -320
- easyscience-2.4.0/tests/unit/global_object/test_integration_comprehensive.py +0 -456
- easyscience-2.4.0/tests/unit/global_object/test_map.py +0 -757
- easyscience-2.4.0/tests/unit/global_object/test_undo_redo.py +0 -449
- easyscience-2.4.0/tests/unit/global_object/test_undo_redo_comprehensive.py +0 -705
- easyscience-2.4.0/tests/unit/io/test_serializer_dict.py +0 -121
- easyscience-2.4.0/tests/unit/legacy/__init__.py +0 -3
- easyscience-2.4.0/tests/unit/legacy/test_collection_base.py +0 -155
- easyscience-2.4.0/tests/unit/legacy/test_dict.py +0 -3
- easyscience-2.4.0/tests/unit/legacy/test_json.py +0 -3
- easyscience-2.4.0/tests/unit/legacy/test_obj_base.py +0 -119
- easyscience-2.4.0/tests/unit/legacy/test_xml.py +0 -3
- easyscience-2.4.0/tests/unit/models/__init__.py +0 -3
- easyscience-2.4.0/tests/unit/models/test_polynomial.py +0 -192
- easyscience-2.4.0/tests/unit/variable/__init__.py +0 -3
- easyscience-2.4.0/tests/unit/variable/test_descriptor_any_type.py +0 -83
- {easyscience-2.4.0 → easyscience-3.0.2}/.badgery.yaml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.codecov.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.coveragerc +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/actions/download-artifact/action.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/actions/github-script/action.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/actions/setup-easyscience-bot/action.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/actions/setup-pixi/action.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/actions/upload-artifact/action.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/actions/upload-codecov/action.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/configs/pages-deployment.json +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/configs/rulesets-develop.json +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/configs/rulesets-gh-pages.json +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/configs/rulesets-master.json +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/scripts/backmerge-conflict-issue.js +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/scripts/publish-dashboard.sh +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/backmerge.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/cleanup.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/coverage.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/dashboard.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/docs.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/issues-labels.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/lint-format.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/pr-labels.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/release-notes.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/release-pr.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/security.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/test-trigger.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/tutorial-tests-trigger.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.github/workflows/tutorial-tests.yml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.gitignore +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.pre-commit-config.yaml +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/.prettierignore +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/CONTRIBUTING.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/LICENSE +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/README.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/api-reference/base_classes.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/api-reference/fitting.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/api-reference/global_object.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/api-reference/job.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/api-reference/utils.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/api-reference/variable.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/assets/images/favicon.png +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/assets/images/logo_dark.svg +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/assets/images/logo_light.svg +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/assets/javascripts/extra.js +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/assets/javascripts/mathjax.js +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/assets/stylesheets/extra.css +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/index.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/installation-and-setup/index.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/docs/tutorials/index.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/includes/abbreviations.md +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/overrides/.icons/app.svg +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/overrides/.icons/easyscience.svg +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/overrides/.icons/google-colab.svg +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/overrides/main.html +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/docs/overrides/partials/logo.html +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/fitting/minimizers/bumps_utils/eval_counter.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/fitting/minimizers/bumps_utils/progress_monitor.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/fitting/minimizers/utils.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/global_object/logger.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/job/__init__.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/utils/__init__.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/utils/classUtils.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/utils/decorators.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/src/easyscience/utils/string.py +0 -0
- {easyscience-2.4.0/src/easyscience/global_object/hugger → easyscience-3.0.2/tests/unit/base_classes}/__init__.py +0 -0
- {easyscience-2.4.0/tests/unit/base_classes → easyscience-3.0.2/tests/unit/fitting}/__init__.py +0 -0
- {easyscience-2.4.0/tests/unit/fitting → easyscience-3.0.2/tests/unit/fitting/minimizers}/__init__.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/fitting/minimizers/test_utils.py +0 -0
- {easyscience-2.4.0/tests/unit/fitting/calculators → easyscience-3.0.2/tests/unit/global_object}/__init__.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tests/unit/global_object/test_logger.py +0 -0
- {easyscience-2.4.0/tests/unit/fitting/minimizers → easyscience-3.0.2/tests/unit/variable}/__init__.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tools/license_headers.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tools/update_docs_assets.py +0 -0
- {easyscience-2.4.0 → easyscience-3.0.2}/tools/update_github_labels.py +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Dry run of the PyPI publishing workflow (see pypi-publish.yml).
|
|
2
|
+
# Performs the same setup and build steps on a simulated release tag, but
|
|
3
|
+
# never uploads anything. It fails if:
|
|
4
|
+
# - pixi.lock is out of date for the pixi version used on GitHub runners
|
|
5
|
+
# (pixi commands without --frozen would rewrite it, e.g. the shell-hook
|
|
6
|
+
# run by setup-pixi to activate the environment)
|
|
7
|
+
# - any tracked file is modified before the build, which gives
|
|
8
|
+
# versioningit a '+dirty' local version that PyPI rejects
|
|
9
|
+
# - the built package has a local version or fails 'twine check'
|
|
10
|
+
|
|
11
|
+
name: PyPI publishing check
|
|
12
|
+
|
|
13
|
+
on:
|
|
14
|
+
pull_request:
|
|
15
|
+
branches: [master, develop]
|
|
16
|
+
workflow_dispatch:
|
|
17
|
+
|
|
18
|
+
permissions:
|
|
19
|
+
contents: read
|
|
20
|
+
|
|
21
|
+
concurrency:
|
|
22
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
23
|
+
cancel-in-progress: true
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
pypi-publish-check:
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
|
|
29
|
+
steps:
|
|
30
|
+
- name: Check-out repository
|
|
31
|
+
uses: actions/checkout@v6
|
|
32
|
+
with:
|
|
33
|
+
fetch-depth: 0
|
|
34
|
+
|
|
35
|
+
# Same setup as in pypi-publish.yml, so any pixi.lock rewrite done by
|
|
36
|
+
# setup-pixi itself is reproduced here
|
|
37
|
+
- name: Set up pixi
|
|
38
|
+
uses: ./.github/actions/setup-pixi
|
|
39
|
+
|
|
40
|
+
# setup-pixi may already have rewritten pixi.lock, so compare it with
|
|
41
|
+
# the committed version as well as running 'pixi lock --check'
|
|
42
|
+
- name: Check pixi.lock is up to date
|
|
43
|
+
run: |
|
|
44
|
+
pixi --version
|
|
45
|
+
if ! git diff --quiet -- pixi.lock || ! pixi lock --check; then
|
|
46
|
+
git diff --stat -- pixi.lock
|
|
47
|
+
echo "::error file=pixi.lock::pixi.lock is out of date for $(pixi --version). Update pixi locally (pixi self-update), run 'pixi lock' and commit pixi.lock."
|
|
48
|
+
exit 1
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
- name: Check working tree is clean
|
|
52
|
+
run: |
|
|
53
|
+
if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
|
|
54
|
+
echo "::error::Tracked files were modified before the build, so the package version would get a '+dirty' suffix:"
|
|
55
|
+
git status --porcelain --untracked-files=no
|
|
56
|
+
git diff --stat
|
|
57
|
+
exit 1
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
- name: Simulate release tag
|
|
61
|
+
run: git tag v9999.0.0
|
|
62
|
+
|
|
63
|
+
- name: Create Python package
|
|
64
|
+
run: pixi run --frozen default-build
|
|
65
|
+
|
|
66
|
+
- name: Check package version
|
|
67
|
+
run: |
|
|
68
|
+
ls -l dist/
|
|
69
|
+
for f in dist/*; do
|
|
70
|
+
if [[ "$(basename "$f")" == *+* ]]; then
|
|
71
|
+
echo "::error::$(basename "$f") has a local version, which PyPI rejects."
|
|
72
|
+
exit 1
|
|
73
|
+
fi
|
|
74
|
+
done
|
|
75
|
+
|
|
76
|
+
- name: Check package metadata
|
|
77
|
+
run: pipx run twine check --strict dist/*
|
|
@@ -28,8 +28,10 @@ jobs:
|
|
|
28
28
|
uses: ./.github/actions/setup-pixi
|
|
29
29
|
|
|
30
30
|
# Build the Python package (to dist/ folder)
|
|
31
|
+
# --frozen stops pixi from rewriting pixi.lock, which would make the
|
|
32
|
+
# tree dirty and give versioningit a '+dirty' version PyPI rejects
|
|
31
33
|
- name: Create Python package
|
|
32
|
-
run: pixi run default-build
|
|
34
|
+
run: pixi run --frozen default-build
|
|
33
35
|
|
|
34
36
|
# Publish the package to PyPI (from dist/ folder)
|
|
35
37
|
# Instead of publishing with personal access token, we use
|
|
@@ -69,10 +69,6 @@ jobs:
|
|
|
69
69
|
working-directory: easyscience
|
|
70
70
|
run: pixi run python -m pytest ../tests/unit/ --color=yes -v
|
|
71
71
|
|
|
72
|
-
- name: Run functional tests to verify the installation
|
|
73
|
-
working-directory: easyscience
|
|
74
|
-
run: pixi run python -m pytest ../tests/functional/ --color=yes -v
|
|
75
|
-
|
|
76
72
|
- name: Run integration tests to verify the installation
|
|
77
73
|
working-directory: easyscience
|
|
78
74
|
run: pixi run python -m pytest ../tests/integration/ --color=yes -n auto
|
|
@@ -102,21 +102,6 @@ jobs:
|
|
|
102
102
|
pixi run --environment $env unit-tests
|
|
103
103
|
done
|
|
104
104
|
|
|
105
|
-
- name: Run functional tests
|
|
106
|
-
shell: bash
|
|
107
|
-
run: |
|
|
108
|
-
set -euo pipefail
|
|
109
|
-
|
|
110
|
-
for py_ver in $PY_VERSIONS; do
|
|
111
|
-
echo
|
|
112
|
-
echo "🔹🔸🔹🔸🔹 Python: $py_ver 🔹🔸🔹🔸🔹"
|
|
113
|
-
|
|
114
|
-
env="py-$(echo $py_ver | tr -d .)-env" # Converts 3.XX -> py-3XX-env
|
|
115
|
-
|
|
116
|
-
echo "Running tests in environment: $env"
|
|
117
|
-
pixi run --environment $env functional-tests
|
|
118
|
-
done
|
|
119
|
-
|
|
120
105
|
- name: Run integration tests ${{ needs.env-prepare.outputs.pytest-marks }}
|
|
121
106
|
shell: bash
|
|
122
107
|
run: |
|
|
@@ -258,25 +243,6 @@ jobs:
|
|
|
258
243
|
cd ..
|
|
259
244
|
done
|
|
260
245
|
|
|
261
|
-
- name: Run functional tests
|
|
262
|
-
shell: bash
|
|
263
|
-
run: |
|
|
264
|
-
set -euo pipefail
|
|
265
|
-
|
|
266
|
-
for py_ver in $PY_VERSIONS; do
|
|
267
|
-
echo
|
|
268
|
-
echo "🔹🔸🔹🔸🔹 Python: $py_ver 🔹🔸🔹🔸🔹"
|
|
269
|
-
|
|
270
|
-
echo "Entering pixi project directory easyscience_py$py_ver"
|
|
271
|
-
cd easyscience_py$py_ver
|
|
272
|
-
|
|
273
|
-
echo "Running tests"
|
|
274
|
-
pixi run python -m pytest ../tests/functional/ --color=yes -v
|
|
275
|
-
|
|
276
|
-
echo "Exiting pixi project directory"
|
|
277
|
-
cd ..
|
|
278
|
-
done
|
|
279
|
-
|
|
280
246
|
- name: Run integration tests ${{ needs.env-prepare.outputs.pytest-marks }}
|
|
281
247
|
shell: bash
|
|
282
248
|
run: |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: easyscience
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.2
|
|
4
4
|
Summary: Core building blocks for EasyScience
|
|
5
5
|
Project-URL: Documentation, https://easyscience.github.io/core
|
|
6
6
|
Project-URL: Release Notes, https://github.com/easyscience/core/releases
|
|
@@ -21,7 +21,7 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
21
21
|
Classifier: Topic :: Scientific/Engineering
|
|
22
22
|
Requires-Python: >=3.11
|
|
23
23
|
Requires-Dist: asteval
|
|
24
|
-
Requires-Dist: bumps
|
|
24
|
+
Requires-Dist: bumps>=1.0.4
|
|
25
25
|
Requires-Dist: dfo-ls
|
|
26
26
|
Requires-Dist: lmfit
|
|
27
27
|
Requires-Dist: numpy
|
|
@@ -8,19 +8,16 @@ This section contains the reference detailing the functions and modules
|
|
|
8
8
|
available in EasyScience.
|
|
9
9
|
|
|
10
10
|
- [base_classes](base_classes.md) – Core abstract and helper base
|
|
11
|
-
classes used to build EasyScience objects (e.g. `
|
|
12
|
-
`ModelBase`).
|
|
13
|
-
- [fitting](fitting.md) – Fitting
|
|
14
|
-
`
|
|
11
|
+
classes used to build EasyScience objects (e.g. `EasyBase`,
|
|
12
|
+
`ModelBase`, `EasyList`, `SerializerBase`).
|
|
13
|
+
- [fitting](fitting.md) – Fitting and sampling, including `Fitter`,
|
|
14
|
+
`Sampler` and the available minimizers.
|
|
15
15
|
- [global_object](global_object.md) – Global singleton providing shared
|
|
16
|
-
services (logger
|
|
17
|
-
- [io](io.md) – Serialization and deserialization framework for
|
|
18
|
-
persisting EasyScience objects (serializers and components).
|
|
16
|
+
services (logger and object registry).
|
|
19
17
|
- [job](job.md) – Job and experiment abstractions for running and
|
|
20
18
|
organizing analyses.
|
|
21
|
-
- [models](models.md) – Predefined model implementations (e.g.
|
|
22
|
-
polynomial models) used in fitting workflows.
|
|
23
19
|
- [utils](utils.md) – Miscellaneous utility functions and helpers (class
|
|
24
20
|
tools, decorators, type helpers).
|
|
25
21
|
- [variable](variable.md) – Descriptor types and variable abstractions
|
|
26
|
-
(e.g. `DescriptorNumber`, `Parameter`, `DescriptorArray`).
|
|
22
|
+
(e.g. `DescriptorNumber`, `Parameter`, `DescriptorArray`). All of them
|
|
23
|
+
are `EasyBase` objects, serialized with `to_dict`/`from_dict`.
|
|
@@ -41,7 +41,7 @@ Zenodo, each with a version-specific Digital Object Identifier (DOI).
|
|
|
41
41
|
|
|
42
42
|
Citation details in various styles (e.g., APA, MLA) and formats (e.g.,
|
|
43
43
|
BibTeX, JSON) are available on the
|
|
44
|
-
[Zenodo archive page](https://doi.org/10.5281/zenodo.
|
|
44
|
+
[Zenodo archive page](https://doi.org/10.5281/zenodo.19918609).
|
|
45
45
|
|
|
46
46
|
## Contributing
|
|
47
47
|
|