CodeEntropy 2.4.3__tar.gz → 2.6.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.
- codeentropy-2.6.0/.github/renovate.json +33 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/workflows/coveralls-main.yaml +2 -2
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/workflows/daily.yaml +1 -1
- codeentropy-2.6.0/.github/workflows/dependency-floors.yaml +50 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/workflows/pr.yaml +25 -12
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/workflows/release.yaml +17 -17
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/workflows/update-copyright-years-in-license-file.yaml +2 -2
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/workflows/update_regression_baselines.yaml +4 -4
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/workflows/weekly-docs.yaml +2 -2
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/workflows/weekly-regression.yaml +5 -5
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CITATION.cff +2 -2
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/__init__.py +1 -1
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/cli.py +12 -4
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/config/argparse.py +6 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/config/runtime.py +9 -7
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/vibrational.py +9 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/axes.py +261 -157
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/conformational_state_builder.py +15 -5
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/state_assignment.py +9 -6
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/covariance.py +6 -6
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/trajectory/mda.py +28 -1
- {codeentropy-2.4.3 → codeentropy-2.6.0}/PKG-INFO +22 -27
- {codeentropy-2.4.3 → codeentropy-2.6.0}/README.md +1 -1
- {codeentropy-2.4.3 → codeentropy-2.6.0}/conda-recipe/meta.yaml +16 -18
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/developer_guide.rst +21 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/getting_started.rst +1 -1
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/science.rst +4 -2
- {codeentropy-2.4.3 → codeentropy-2.6.0}/pyproject.toml +20 -25
- codeentropy-2.6.0/tests/regression/baselines/benzaldehyde/axes_off.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/benzaldehyde/combined_forcetorque_false.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/default.json +4 -4
- codeentropy-2.6.0/tests/regression/baselines/benzaldehyde/frame_window.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/grouping_each.json +18 -18
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/rad.json +4 -4
- codeentropy-2.6.0/tests/regression/baselines/benzaldehyde/selection_subset.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/benzene/axes_off.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/benzene/combined_forcetorque_off.json +4 -4
- codeentropy-2.6.0/tests/regression/baselines/benzene/default.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/benzene/frame_window.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/benzene/grouping_each.json +22 -22
- codeentropy-2.6.0/tests/regression/baselines/benzene/rad.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/benzene/selection_subset.json +4 -4
- codeentropy-2.6.0/tests/regression/baselines/cyclohexane/axes_off.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/cyclohexane/combined_forcetorque_off.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/cyclohexane/default.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/cyclohexane/frame_window.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/cyclohexane/grouping_each.json +18 -18
- codeentropy-2.6.0/tests/regression/baselines/cyclohexane/rad.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/cyclohexane/selection_subset.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/dna/axes_off.json +9 -9
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/dna/combined_forcetorque_off.json +8 -8
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/dna/default.json +7 -7
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/dna/frame_window.json +8 -8
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/dna/grouping_each.json +7 -7
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/dna/selection_subset.json +7 -7
- codeentropy-2.6.0/tests/regression/baselines/ethyl-acetate/axes_off.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/ethyl-acetate/combined_forcetorque_off.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/ethyl-acetate/default.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/ethyl-acetate/frame_window.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/ethyl-acetate/grouping_each.json +21 -21
- codeentropy-2.6.0/tests/regression/baselines/ethyl-acetate/rad.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/ethyl-acetate/selection_subset.json +16 -0
- {codeentropy-2.4.3/tests/regression/baselines/water → codeentropy-2.6.0/tests/regression/baselines/methane}/axes_off.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methane/combined_forcetorque_off.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methane/default.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methane/frame_window.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methane/grouping_each.json +25 -25
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methane/rad.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methane/selection_subset.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methanol/axes_off.json +4 -4
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methanol/combined_forcetorque_off.json +4 -4
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methanol/default.json +4 -4
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methanol/frame_window.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methanol/grouping_each.json +27 -27
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methanol/rad.json +4 -4
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/methanol/selection_subset.json +4 -4
- codeentropy-2.6.0/tests/regression/baselines/octonol/axes_off.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/octonol/combined_forcetorque_off.json +4 -4
- codeentropy-2.6.0/tests/regression/baselines/octonol/default.json +16 -0
- codeentropy-2.6.0/tests/regression/baselines/octonol/frame_window.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/octonol/grouping_each.json +24 -24
- codeentropy-2.6.0/tests/regression/baselines/octonol/rad.json +16 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/octonol/selection_subset.json +4 -4
- {codeentropy-2.4.3/tests/regression/baselines/methane → codeentropy-2.6.0/tests/regression/baselines/water}/axes_off.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/water/combined_forcetorque_off.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/water/default.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/water/frame_window.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/water/grouping_each.json +23 -23
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/water/rad.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/water/selection_subset.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/baselines/water/water_off.json +3 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/cli/test_cli.py +14 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/test_argparse_build_parser.py +13 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_show_splash.py +8 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_vibrational_entropy_math.py +7 -3
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_conformational_state_builder.py +6 -6
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_state_assignment.py +5 -4
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_covariance_node.py +10 -7
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_axes.py +695 -158
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_mda_universe_operations.py +36 -0
- codeentropy-2.4.3/.github/renovate.json +0 -21
- codeentropy-2.4.3/tests/regression/baselines/benzaldehyde/axes_off.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/benzaldehyde/combined_forcetorque_false.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/benzaldehyde/frame_window.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/benzaldehyde/selection_subset.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/benzene/axes_off.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/benzene/default.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/benzene/frame_window.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/benzene/rad.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/cyclohexane/axes_off.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/cyclohexane/combined_forcetorque_off.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/cyclohexane/default.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/cyclohexane/frame_window.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/cyclohexane/rad.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/cyclohexane/selection_subset.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/ethyl-acetate/axes_off.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/ethyl-acetate/combined_forcetorque_off.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/ethyl-acetate/default.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/ethyl-acetate/frame_window.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/ethyl-acetate/rad.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/ethyl-acetate/selection_subset.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/octonol/axes_off.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/octonol/default.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/octonol/frame_window.json +0 -16
- codeentropy-2.4.3/tests/regression/baselines/octonol/rad.json +0 -16
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/CONTRIBUTING.md +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/ISSUE_TEMPLATE/general_report.md +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.gitignore +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/.pre-commit-config.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CODE_OF_CONDUCT.md +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/__main__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/config/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/core/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/core/dask_clusters.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/core/logging.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/configurational.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/graph.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/nodes/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/nodes/aggregate.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/nodes/configurational.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/nodes/orientational.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/nodes/vibrational.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/orientational.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/water.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/entropy/workflow.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/angle_observations.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/kernels.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/peak_detection.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/topology.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/execution/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/execution/chunks.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/execution/policy.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/execution/reducers.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/execution/scheduler.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/execution/tasks.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/forces.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/graph/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/graph/conformation_dag.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/graph/frame_dag.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/graph/level_dag.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/hierarchy.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/linalg.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/neighbors.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/accumulators.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/axes_topology.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/beads.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/detect_levels.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/detect_molecules.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/levels/search.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/molecules/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/molecules/grouping.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/results/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/results/reporter.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/trajectory/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/trajectory/frames.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/CodeEntropy/trajectory/source.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/LICENSE +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/Makefile +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/README.md +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/_static/README.md +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/_static/custom.css +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/_static/logos/biosim-codeentropy_logo_dark.png +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/_static/logos/biosim-codeentropy_logo_light.png +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/_templates/README.md +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.cli.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.config.argparse.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.config.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.config.runtime.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.core.dask_clusters.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.core.logging.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.core.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.configurational.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.graph.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.nodes.aggregate.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.nodes.configurational.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.nodes.orientational.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.nodes.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.nodes.vibrational.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.orientational.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.vibrational.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.water.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.workflow.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.axes.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.angle_observations.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.conformational_state_builder.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.kernels.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.peak_detection.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.state_assignment.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.topology.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.chunks.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.policy.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.reducers.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.scheduler.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.tasks.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.forces.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.graph.conformation_dag.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.graph.frame_dag.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.graph.level_dag.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.graph.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.hierarchy.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.linalg.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.neighbors.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.accumulators.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.axes_topology.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.beads.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.covariance.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.detect_levels.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.detect_molecules.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.search.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.molecules.grouping.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.molecules.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.results.reporter.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.results.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.trajectory.frames.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.trajectory.mda.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.trajectory.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/CodeEntropy.trajectory.source.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/api/modules.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/conf.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/config.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/faq.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/docs/index.rst +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/readthedocs.yml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/__init__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/cases.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/axes_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/combined_forcetorque_false.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/default.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/frame_window.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/grouping_each.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/rad.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/selection_subset.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzene/axes_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzene/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzene/default.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzene/frame_window.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzene/grouping_each.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzene/rad.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/benzene/selection_subset.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/axes_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/default.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/frame_window.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/grouping_each.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/rad.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/selection_subset.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/dna/axes_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/dna/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/dna/default.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/dna/frame_window.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/dna/grouping_each.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/dna/selection_subset.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/axes_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/default.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/frame_window.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/grouping_each.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/rad.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/selection_subset.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methane/axes_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methane/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methane/default.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methane/frame_window.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methane/grouping_each.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methane/rad.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methane/selection_subset.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methanol/axes_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methanol/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methanol/default.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methanol/frame_window.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methanol/grouping_each.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methanol/rad.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/methanol/selection_subset.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/octonol/axes_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/octonol/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/octonol/default.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/octonol/frame_window.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/octonol/grouping_each.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/octonol/rad.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/octonol/selection_subset.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/water/axes_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/water/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/water/default.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/water/frame_window.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/water/grouping_each.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/water/rad.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/water/selection_subset.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/configs/water/water_off.yaml +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/conftest.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/helpers.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/list_systems.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/regression/test_regression.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/cli/test___main__.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/conftest.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/test_argparse_load_config.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/test_argparse_resolve.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/test_argparse_str2bool.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/test_argparse_validate_inputs.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/conftest.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_build_universe_branches.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_citation_data.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_create_job_folder.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_print_args_table.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_required_args.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_run_entropy_workflow_branches.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_runtime_properties.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_unit_conversions.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_universe_io.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/dask_clusters/test_dask_clusters.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/conftest.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_configure_loggers.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_error_filter.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_export_console.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_get_console_singleton.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_handlers_setup.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_set_level.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/conftest.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/nodes/test_aggregate_node.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/nodes/test_configurational_node.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/nodes/test_orientational_node.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/nodes/test_vibrational_node.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_configurational_edges.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_configurational_entropy_math.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_graph.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_orientational_entropy.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_water_entropy.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_workflow.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/conftest.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_angle_observations.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_kernels.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_peak_detection.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_topology.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/execution/test_chunks.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/execution/test_policy.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/execution/test_reducers.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/execution/test_scheduler.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/execution/test_tasks.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_axes_topology.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_beads_node.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_detect_levels_node.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_detect_molecules_node.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_init_covariance_accumulators_node.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_conformation_dag.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_forces_force_torque_calculator.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_frame_graph.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_hierarchy_builder.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_level_dag.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_linalg_matrix_utils.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_neighbors.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_search.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/molecules/test_grouping.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/results/test_reporter.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/trajectory/test_frames.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/CodeEntropy/trajectory/test_source.py +0 -0
- {codeentropy-2.4.3 → codeentropy-2.6.0}/tests/unit/conftest.py +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
+
"extends": [
|
|
4
|
+
"config:best-practices",
|
|
5
|
+
"helpers:pinGitHubActionDigestsToSemver"
|
|
6
|
+
],
|
|
7
|
+
"timezone": "Europe/London",
|
|
8
|
+
"schedule": ["after 9am and before 5pm every weekday"],
|
|
9
|
+
"dependencyDashboard": true,
|
|
10
|
+
"reviewers": ["harryswift01", "jimboid"],
|
|
11
|
+
"minimumReleaseAge": "3 days",
|
|
12
|
+
"packageRules": [
|
|
13
|
+
{
|
|
14
|
+
"matchManagers": ["github-actions"],
|
|
15
|
+
"groupName": "GitHub Actions",
|
|
16
|
+
"addLabels": ["ci", "dependencies"]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"matchManagers": ["poetry", "pep621"],
|
|
20
|
+
"matchDepTypes": ["project.dependencies"],
|
|
21
|
+
"rangeStrategy": "widen",
|
|
22
|
+
"groupName": "Software Production Dependencies",
|
|
23
|
+
"addLabels": ["python", "production-deps"]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"matchManagers": ["poetry", "pep621"],
|
|
27
|
+
"matchDepTypes": ["project.optional-dependencies", "build-system.requires"],
|
|
28
|
+
"rangeStrategy": "replace",
|
|
29
|
+
"groupName": "Python CI and Dev Tools",
|
|
30
|
+
"addLabels": ["python", "dev-dependencies"]
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -16,7 +16,7 @@ concurrency:
|
|
|
16
16
|
jobs:
|
|
17
17
|
coveralls:
|
|
18
18
|
name: Build main coverage baseline
|
|
19
|
-
runs-on: ubuntu-
|
|
19
|
+
runs-on: ubuntu-26.04
|
|
20
20
|
timeout-minutes: 30
|
|
21
21
|
|
|
22
22
|
permissions:
|
|
@@ -31,7 +31,7 @@ jobs:
|
|
|
31
31
|
- name: Set up Python 3.14
|
|
32
32
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
33
33
|
with:
|
|
34
|
-
python-version: "3.
|
|
34
|
+
python-version: "3.15"
|
|
35
35
|
|
|
36
36
|
- name: Install testing dependencies
|
|
37
37
|
run: |
|
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
23
23
|
|
|
24
24
|
steps:
|
|
25
25
|
- name: Checkout
|
|
26
|
-
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
26
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
27
27
|
|
|
28
28
|
- name: Set up Python ${{ matrix.python-version }}
|
|
29
29
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: Dependency Floors
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 8 * * 1'
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
concurrency:
|
|
12
|
+
group: dependency-floors-${{ github.ref }}
|
|
13
|
+
cancel-in-progress: true
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
lowest:
|
|
17
|
+
name: Lowest dependencies (${{ matrix.os }}, py${{ matrix.python-version }})
|
|
18
|
+
runs-on: ${{ matrix.os }}
|
|
19
|
+
timeout-minutes: 30
|
|
20
|
+
|
|
21
|
+
strategy:
|
|
22
|
+
fail-fast: false
|
|
23
|
+
matrix:
|
|
24
|
+
os: [ubuntu-26.04, macos-26, windows-2025-vs2026]
|
|
25
|
+
python-version: ["3.12", "3.13", "3.14"]
|
|
26
|
+
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout
|
|
29
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
30
|
+
|
|
31
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
32
|
+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
33
|
+
with:
|
|
34
|
+
python-version: ${{ matrix.python-version }}
|
|
35
|
+
|
|
36
|
+
- name: Install uv
|
|
37
|
+
run: |
|
|
38
|
+
python -m pip install --upgrade pip
|
|
39
|
+
python -m pip install uv
|
|
40
|
+
|
|
41
|
+
- name: Resolve lowest dependencies as wheels
|
|
42
|
+
run: |
|
|
43
|
+
uv pip compile pyproject.toml --resolution lowest-direct --only-binary :all: --output-file lowest.txt
|
|
44
|
+
cat lowest.txt
|
|
45
|
+
|
|
46
|
+
- name: Install lowest dependencies
|
|
47
|
+
run: uv pip install --system --resolution lowest-direct -e ".[testing]"
|
|
48
|
+
|
|
49
|
+
- name: Run unit tests
|
|
50
|
+
run: python -m pytest tests/unit
|
|
@@ -38,9 +38,22 @@ jobs:
|
|
|
38
38
|
- name: Pytest unit • ${{ matrix.os }}, ${{ matrix.python-version }}
|
|
39
39
|
run: python -m pytest tests/unit
|
|
40
40
|
|
|
41
|
+
- name: Install uv
|
|
42
|
+
run: python -m pip install uv
|
|
43
|
+
|
|
44
|
+
- name: Resolve lowest dependencies as wheels
|
|
45
|
+
run: |
|
|
46
|
+
uv pip compile pyproject.toml --resolution lowest-direct --only-binary :all: --output-file lowest.txt
|
|
47
|
+
|
|
48
|
+
- name: Install lowest dependencies
|
|
49
|
+
run: uv pip install --system --reinstall --resolution lowest-direct -e ".[testing]"
|
|
50
|
+
|
|
51
|
+
- name: Pytest unit at lowest dependencies • ${{ matrix.os }}, ${{ matrix.python-version }}
|
|
52
|
+
run: python -m pytest tests/unit
|
|
53
|
+
|
|
41
54
|
discover-systems:
|
|
42
55
|
name: Discover regression systems
|
|
43
|
-
runs-on: ubuntu-
|
|
56
|
+
runs-on: ubuntu-26.04
|
|
44
57
|
outputs:
|
|
45
58
|
systems: ${{ steps.set-systems.outputs.systems }}
|
|
46
59
|
|
|
@@ -51,7 +64,7 @@ jobs:
|
|
|
51
64
|
- name: Set up Python 3.14
|
|
52
65
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
53
66
|
with:
|
|
54
|
-
python-version: "3.
|
|
67
|
+
python-version: "3.15"
|
|
55
68
|
|
|
56
69
|
- name: Install testing dependencies
|
|
57
70
|
run: |
|
|
@@ -67,7 +80,7 @@ jobs:
|
|
|
67
80
|
regression-quick:
|
|
68
81
|
name: Regression fast • ${{ matrix.system }}
|
|
69
82
|
needs: discover-systems
|
|
70
|
-
runs-on: ubuntu-
|
|
83
|
+
runs-on: ubuntu-26.04
|
|
71
84
|
timeout-minutes: 35
|
|
72
85
|
|
|
73
86
|
strategy:
|
|
@@ -82,7 +95,7 @@ jobs:
|
|
|
82
95
|
- name: Set up Python 3.14
|
|
83
96
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
84
97
|
with:
|
|
85
|
-
python-version: "3.
|
|
98
|
+
python-version: "3.15"
|
|
86
99
|
|
|
87
100
|
- name: Install testing dependencies
|
|
88
101
|
run: |
|
|
@@ -99,7 +112,7 @@ jobs:
|
|
|
99
112
|
|
|
100
113
|
- name: Upload artifacts on failure
|
|
101
114
|
if: failure()
|
|
102
|
-
uses: actions/upload-artifact@
|
|
115
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
103
116
|
with:
|
|
104
117
|
name: quick-regression-failure-${{ matrix.system }}
|
|
105
118
|
path: |
|
|
@@ -109,7 +122,7 @@ jobs:
|
|
|
109
122
|
docs:
|
|
110
123
|
name: Docs
|
|
111
124
|
needs: unit
|
|
112
|
-
runs-on: ubuntu-
|
|
125
|
+
runs-on: ubuntu-26.04
|
|
113
126
|
timeout-minutes: 25
|
|
114
127
|
|
|
115
128
|
steps:
|
|
@@ -119,7 +132,7 @@ jobs:
|
|
|
119
132
|
- name: Set up Python 3.14
|
|
120
133
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
121
134
|
with:
|
|
122
|
-
python-version: "3.
|
|
135
|
+
python-version: "3.15"
|
|
123
136
|
|
|
124
137
|
- name: Install docs dependencies
|
|
125
138
|
run: |
|
|
@@ -133,7 +146,7 @@ jobs:
|
|
|
133
146
|
|
|
134
147
|
- name: Upload docs artifact
|
|
135
148
|
if: always()
|
|
136
|
-
uses: actions/upload-artifact@
|
|
149
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
137
150
|
with:
|
|
138
151
|
name: docs-html
|
|
139
152
|
path: docs/_build/html
|
|
@@ -141,7 +154,7 @@ jobs:
|
|
|
141
154
|
pre-commit:
|
|
142
155
|
name: Pre-commit
|
|
143
156
|
needs: unit
|
|
144
|
-
runs-on: ubuntu-
|
|
157
|
+
runs-on: ubuntu-26.04
|
|
145
158
|
timeout-minutes: 15
|
|
146
159
|
|
|
147
160
|
steps:
|
|
@@ -151,7 +164,7 @@ jobs:
|
|
|
151
164
|
- name: Set up Python 3.14
|
|
152
165
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
153
166
|
with:
|
|
154
|
-
python-version: "3.
|
|
167
|
+
python-version: "3.15"
|
|
155
168
|
|
|
156
169
|
- name: Install pre-commit dependencies
|
|
157
170
|
run: |
|
|
@@ -170,7 +183,7 @@ jobs:
|
|
|
170
183
|
coverage:
|
|
171
184
|
name: Coverage
|
|
172
185
|
needs: unit
|
|
173
|
-
runs-on: ubuntu-
|
|
186
|
+
runs-on: ubuntu-26.04
|
|
174
187
|
timeout-minutes: 30
|
|
175
188
|
|
|
176
189
|
permissions:
|
|
@@ -186,7 +199,7 @@ jobs:
|
|
|
186
199
|
- name: Set up Python 3.14
|
|
187
200
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
188
201
|
with:
|
|
189
|
-
python-version: "3.
|
|
202
|
+
python-version: "3.15"
|
|
190
203
|
|
|
191
204
|
- name: Install testing dependencies
|
|
192
205
|
run: |
|
|
@@ -14,16 +14,16 @@ permissions:
|
|
|
14
14
|
jobs:
|
|
15
15
|
checks:
|
|
16
16
|
name: Version check
|
|
17
|
-
runs-on: ubuntu-
|
|
17
|
+
runs-on: ubuntu-26.04
|
|
18
18
|
steps:
|
|
19
19
|
- name: Checkout repository
|
|
20
20
|
id: repo
|
|
21
|
-
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
21
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
22
22
|
|
|
23
23
|
- name: Set up Python
|
|
24
24
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
25
25
|
with:
|
|
26
|
-
python-version: 3.
|
|
26
|
+
python-version: 3.15.0
|
|
27
27
|
|
|
28
28
|
- name: Get latest release from pip
|
|
29
29
|
id: latestreleased
|
|
@@ -42,11 +42,11 @@ jobs:
|
|
|
42
42
|
version:
|
|
43
43
|
name: prepare ${{ github.event.inputs.version }}
|
|
44
44
|
needs: checks
|
|
45
|
-
runs-on: ubuntu-
|
|
45
|
+
runs-on: ubuntu-26.04
|
|
46
46
|
steps:
|
|
47
47
|
|
|
48
48
|
- name: checkout
|
|
49
|
-
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
49
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
50
50
|
|
|
51
51
|
- name: Change version in repo and CITATION.cff
|
|
52
52
|
run: |
|
|
@@ -92,10 +92,10 @@ jobs:
|
|
|
92
92
|
tag:
|
|
93
93
|
name: tag release
|
|
94
94
|
needs: version
|
|
95
|
-
runs-on: ubuntu-
|
|
95
|
+
runs-on: ubuntu-26.04
|
|
96
96
|
steps:
|
|
97
97
|
- name: Checkout repository
|
|
98
|
-
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
98
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
99
99
|
with:
|
|
100
100
|
ref: main
|
|
101
101
|
|
|
@@ -109,11 +109,11 @@ jobs:
|
|
|
109
109
|
release:
|
|
110
110
|
name: make github release
|
|
111
111
|
needs: tag
|
|
112
|
-
runs-on: ubuntu-
|
|
112
|
+
runs-on: ubuntu-26.04
|
|
113
113
|
steps:
|
|
114
114
|
- name: create release
|
|
115
115
|
id: create_release
|
|
116
|
-
uses: softprops/action-gh-release@
|
|
116
|
+
uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
|
|
117
117
|
with:
|
|
118
118
|
name: v${{ github.event.inputs.version }}
|
|
119
119
|
generate_release_notes: true
|
|
@@ -128,7 +128,7 @@ jobs:
|
|
|
128
128
|
run: |
|
|
129
129
|
# generate_release_notes builds the changelog server-side, so pull
|
|
130
130
|
# it back down here rather than trying to reconstruct it locally.
|
|
131
|
-
gh release view "${{ github.event.inputs.version }}" --json body -q .body > changelog.txt
|
|
131
|
+
gh release view "${{ github.event.inputs.version }}" --repo "${{ github.repository }}" --json body -q .body > changelog.txt
|
|
132
132
|
|
|
133
133
|
- name: notify Zulip of release
|
|
134
134
|
if: steps.create_release.outcome == 'success'
|
|
@@ -158,18 +158,18 @@ jobs:
|
|
|
158
158
|
pypi:
|
|
159
159
|
name: make pypi release
|
|
160
160
|
needs: [tag, release]
|
|
161
|
-
runs-on: ubuntu-
|
|
161
|
+
runs-on: ubuntu-26.04
|
|
162
162
|
steps:
|
|
163
163
|
|
|
164
164
|
- name: checkout
|
|
165
|
-
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
165
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
166
166
|
with:
|
|
167
167
|
ref: main
|
|
168
168
|
|
|
169
169
|
- name: Set up Python
|
|
170
170
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
171
171
|
with:
|
|
172
|
-
python-version: 3.
|
|
172
|
+
python-version: 3.15.0
|
|
173
173
|
|
|
174
174
|
- name: Install flit
|
|
175
175
|
run: |
|
|
@@ -186,11 +186,11 @@ jobs:
|
|
|
186
186
|
conda:
|
|
187
187
|
name: publish conda to anaconda.org
|
|
188
188
|
needs: [tag, release]
|
|
189
|
-
runs-on: ubuntu-
|
|
189
|
+
runs-on: ubuntu-26.04
|
|
190
190
|
|
|
191
191
|
steps:
|
|
192
192
|
- name: Checkout
|
|
193
|
-
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
193
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
194
194
|
with:
|
|
195
195
|
ref: main
|
|
196
196
|
|
|
@@ -200,10 +200,10 @@ jobs:
|
|
|
200
200
|
grep '{% set version' conda-recipe/meta.yaml
|
|
201
201
|
|
|
202
202
|
- name: Setup Conda (conda-forge only)
|
|
203
|
-
uses: conda-incubator/setup-miniconda@
|
|
203
|
+
uses: conda-incubator/setup-miniconda@be893c923ea9cf1cf7cd510fbdde27c7e18cbdcb # v4.1.0
|
|
204
204
|
with:
|
|
205
205
|
miniforge-variant: Miniforge3
|
|
206
|
-
python-version: "3.
|
|
206
|
+
python-version: "3.15"
|
|
207
207
|
auto-activate: true
|
|
208
208
|
activate-environment: base
|
|
209
209
|
conda-remove-defaults: true
|
|
@@ -9,9 +9,9 @@ jobs:
|
|
|
9
9
|
update-license-year:
|
|
10
10
|
runs-on: ubuntu-latest
|
|
11
11
|
steps:
|
|
12
|
-
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
12
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
13
13
|
with:
|
|
14
14
|
fetch-depth: 0
|
|
15
|
-
- uses: FantasticFiasco/action-update-license-year@f180e962fa988db222d8f03ef4636750312d1b3d # v3
|
|
15
|
+
- uses: FantasticFiasco/action-update-license-year@f180e962fa988db222d8f03ef4636750312d1b3d # v3.0.4
|
|
16
16
|
with:
|
|
17
17
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -13,19 +13,19 @@ permissions:
|
|
|
13
13
|
jobs:
|
|
14
14
|
update-baselines:
|
|
15
15
|
name: Update regression baselines
|
|
16
|
-
runs-on: ubuntu-
|
|
16
|
+
runs-on: ubuntu-26.04
|
|
17
17
|
timeout-minutes: 30
|
|
18
18
|
|
|
19
19
|
steps:
|
|
20
20
|
- name: Checkout
|
|
21
|
-
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
21
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
22
22
|
with:
|
|
23
23
|
ref: ${{ github.ref }}
|
|
24
24
|
|
|
25
25
|
- name: Set up Python
|
|
26
26
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
27
27
|
with:
|
|
28
|
-
python-version: "3.
|
|
28
|
+
python-version: "3.15"
|
|
29
29
|
|
|
30
30
|
- name: Install testing dependencies
|
|
31
31
|
run: |
|
|
@@ -36,7 +36,7 @@ jobs:
|
|
|
36
36
|
run: pytest tests/regression --update-baselines --run-slow
|
|
37
37
|
|
|
38
38
|
- name: Commit updated baselines
|
|
39
|
-
uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7
|
|
39
|
+
uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7.2.0
|
|
40
40
|
with:
|
|
41
41
|
commit_message: "test(regression): update baselines"
|
|
42
42
|
commit_user_name: github-actions[bot]
|
|
@@ -22,7 +22,7 @@ jobs:
|
|
|
22
22
|
|
|
23
23
|
steps:
|
|
24
24
|
- name: Checkout repo
|
|
25
|
-
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
25
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
26
26
|
|
|
27
27
|
- name: Set up Python ${{ matrix.python-version }}
|
|
28
28
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
|
|
42
42
|
- name: Upload docs artifacts on failure
|
|
43
43
|
if: failure()
|
|
44
|
-
uses: actions/upload-artifact@
|
|
44
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
45
45
|
with:
|
|
46
46
|
name: docs-${{ matrix.os }}-py${{ matrix.python-version }}-failure
|
|
47
47
|
path: |
|
|
@@ -12,7 +12,7 @@ concurrency:
|
|
|
12
12
|
jobs:
|
|
13
13
|
discover:
|
|
14
14
|
name: Discover regression systems
|
|
15
|
-
runs-on: ubuntu-
|
|
15
|
+
runs-on: ubuntu-26.04
|
|
16
16
|
|
|
17
17
|
outputs:
|
|
18
18
|
systems: ${{ steps.set.outputs.systems }}
|
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
- name: Set up Python 3.14
|
|
25
25
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
26
26
|
with:
|
|
27
|
-
python-version: "3.
|
|
27
|
+
python-version: "3.15"
|
|
28
28
|
|
|
29
29
|
- name: Install testing dependencies
|
|
30
30
|
run: |
|
|
@@ -40,7 +40,7 @@ jobs:
|
|
|
40
40
|
regression:
|
|
41
41
|
name: Regression (${{ matrix.system }})
|
|
42
42
|
needs: discover
|
|
43
|
-
runs-on: ubuntu-
|
|
43
|
+
runs-on: ubuntu-26.04
|
|
44
44
|
timeout-minutes: 360
|
|
45
45
|
|
|
46
46
|
strategy:
|
|
@@ -55,7 +55,7 @@ jobs:
|
|
|
55
55
|
- name: Set up Python 3.14
|
|
56
56
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
57
57
|
with:
|
|
58
|
-
python-version: "3.
|
|
58
|
+
python-version: "3.15"
|
|
59
59
|
|
|
60
60
|
- name: Install testing dependencies
|
|
61
61
|
run: |
|
|
@@ -72,7 +72,7 @@ jobs:
|
|
|
72
72
|
|
|
73
73
|
- name: Upload regression artifacts (failure)
|
|
74
74
|
if: failure()
|
|
75
|
-
uses: actions/upload-artifact@
|
|
75
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
76
76
|
with:
|
|
77
77
|
name: regression-${{ matrix.system }}-artifacts
|
|
78
78
|
path: |
|
|
@@ -4,16 +4,18 @@ This module provides the CLI entry point used to run the multiscale cell
|
|
|
4
4
|
correlation entropy workflow.
|
|
5
5
|
|
|
6
6
|
The entry point is intentionally small and only responsible for:
|
|
7
|
-
1)
|
|
8
|
-
2)
|
|
9
|
-
3)
|
|
10
|
-
4)
|
|
7
|
+
1) Handling informational flags such as ``--version``.
|
|
8
|
+
2) Creating a job folder.
|
|
9
|
+
3) Constructing a CodeEntropyRunner.
|
|
10
|
+
4) Executing the entropy workflow.
|
|
11
|
+
5) Handling fatal errors with a non-zero exit code.
|
|
11
12
|
"""
|
|
12
13
|
|
|
13
14
|
from __future__ import annotations
|
|
14
15
|
|
|
15
16
|
import logging
|
|
16
17
|
|
|
18
|
+
from CodeEntropy.config.argparse import ConfigResolver
|
|
17
19
|
from CodeEntropy.config.runtime import CodeEntropyRunner
|
|
18
20
|
|
|
19
21
|
logger = logging.getLogger(__name__)
|
|
@@ -22,9 +24,15 @@ logger = logging.getLogger(__name__)
|
|
|
22
24
|
def main() -> None:
|
|
23
25
|
"""Run the entropy workflow.
|
|
24
26
|
|
|
27
|
+
Arguments are parsed before any side effects so that informational flags such
|
|
28
|
+
as ``--version`` and ``--help`` exit without creating a job folder or
|
|
29
|
+
rendering the splash screen.
|
|
30
|
+
|
|
25
31
|
Raises:
|
|
26
32
|
SystemExit: Exits with status code 1 on any unhandled exception.
|
|
27
33
|
"""
|
|
34
|
+
ConfigResolver().build_parser().parse_known_args()
|
|
35
|
+
|
|
28
36
|
folder = CodeEntropyRunner.create_job_folder()
|
|
29
37
|
|
|
30
38
|
try:
|
|
@@ -31,6 +31,7 @@ from typing import Any
|
|
|
31
31
|
|
|
32
32
|
import yaml
|
|
33
33
|
|
|
34
|
+
from CodeEntropy import __version__
|
|
34
35
|
from CodeEntropy.core.dask_clusters import HPCDaskManager
|
|
35
36
|
|
|
36
37
|
logger = logging.getLogger(__name__)
|
|
@@ -318,6 +319,11 @@ class ConfigResolver:
|
|
|
318
319
|
parser = argparse.ArgumentParser(
|
|
319
320
|
description="CodeEntropy: entropy calculation with the MCC method."
|
|
320
321
|
)
|
|
322
|
+
parser.add_argument(
|
|
323
|
+
"--version",
|
|
324
|
+
action="version",
|
|
325
|
+
version=f"CodeEntropy {__version__}",
|
|
326
|
+
)
|
|
321
327
|
|
|
322
328
|
for name, spec in self._arg_specs.items():
|
|
323
329
|
arg_name = f"--{name}"
|
|
@@ -32,6 +32,7 @@ from rich.rule import Rule
|
|
|
32
32
|
from rich.table import Table
|
|
33
33
|
from rich.text import Text
|
|
34
34
|
|
|
35
|
+
from CodeEntropy import __version__
|
|
35
36
|
from CodeEntropy.config.argparse import ConfigResolver
|
|
36
37
|
from CodeEntropy.core.dask_clusters import HPCDaskManager
|
|
37
38
|
from CodeEntropy.core.logging import LoggingConfig
|
|
@@ -135,20 +136,21 @@ class CodeEntropyRunner:
|
|
|
135
136
|
return None
|
|
136
137
|
|
|
137
138
|
def show_splash(self) -> None:
|
|
138
|
-
"""Render a Rich splash screen
|
|
139
|
+
"""Render a Rich splash screen.
|
|
140
|
+
|
|
141
|
+
The version shown is that of the locally installed package. Remaining
|
|
142
|
+
metadata (authors, description, URL) comes from the online citation file
|
|
143
|
+
when it is reachable.
|
|
144
|
+
"""
|
|
139
145
|
citation = self.load_citation_data()
|
|
146
|
+
version_text = Align.center(Text(f"Version {__version__}", style="green"))
|
|
140
147
|
|
|
141
148
|
if citation:
|
|
142
149
|
ascii_title = text2art(citation.get("title", "CodeEntropy"))
|
|
143
150
|
ascii_render = Align.center(Text(ascii_title, style="bold white"))
|
|
144
151
|
|
|
145
|
-
version = citation.get("version", "?")
|
|
146
|
-
release_date = citation.get("date-released", "?")
|
|
147
152
|
url = citation.get("url", citation.get("repository-code", ""))
|
|
148
153
|
|
|
149
|
-
version_text = Align.center(
|
|
150
|
-
Text(f"Version {version} | Released {release_date}", style="green")
|
|
151
|
-
)
|
|
152
154
|
url_text = Align.center(Text(url, style="blue underline"))
|
|
153
155
|
|
|
154
156
|
abstract = citation.get("abstract", "No description available.")
|
|
@@ -193,7 +195,7 @@ class CodeEntropyRunner:
|
|
|
193
195
|
else:
|
|
194
196
|
ascii_title = text2art("CodeEntropy")
|
|
195
197
|
ascii_render = Align.center(Text(ascii_title, style="bold white"))
|
|
196
|
-
splash_content = Group(ascii_render)
|
|
198
|
+
splash_content = Group(ascii_render, Rule(style="cyan"), version_text)
|
|
197
199
|
|
|
198
200
|
splash_panel = Panel(
|
|
199
201
|
splash_content,
|
|
@@ -148,7 +148,7 @@ class VibrationalEntropy:
|
|
|
148
148
|
Eigenvalues as a NumPy array.
|
|
149
149
|
"""
|
|
150
150
|
matrix = np.asarray(matrix, dtype=float)
|
|
151
|
-
return la.
|
|
151
|
+
return la.eigvalsh(matrix)
|
|
152
152
|
|
|
153
153
|
def _convert_lambda_units(self, lambdas: np.ndarray) -> np.ndarray:
|
|
154
154
|
"""Convert eigenvalues into SI units using run_manager.
|
|
@@ -185,7 +185,10 @@ class VibrationalEntropy:
|
|
|
185
185
|
"""Convert eigenvalues to frequencies with robust filtering.
|
|
186
186
|
|
|
187
187
|
Filters out eigenvalues that are complex, non-positive, or near-zero to
|
|
188
|
-
avoid invalid frequencies and unstable entropies.
|
|
188
|
+
avoid invalid frequencies and unstable entropies. The near-zero
|
|
189
|
+
tolerance scales with the spectrum's own magnitude (as in
|
|
190
|
+
``numpy.linalg.matrix_rank``) rather than using a fixed cutoff, since
|
|
191
|
+
the eigensolver noise floor around a true null mode is not constant.
|
|
189
192
|
|
|
190
193
|
Args:
|
|
191
194
|
lambdas: Eigenvalues (post unit conversion).
|
|
@@ -197,8 +200,11 @@ class VibrationalEntropy:
|
|
|
197
200
|
lambdas = np.asarray(lambdas)
|
|
198
201
|
lambdas = np.real_if_close(lambdas, tol=1000)
|
|
199
202
|
|
|
203
|
+
scale = float(np.max(np.abs(lambdas))) if lambdas.size else 0.0
|
|
204
|
+
atol = lambdas.size * np.finfo(float).eps * scale
|
|
205
|
+
|
|
200
206
|
valid_mask = (
|
|
201
|
-
np.isreal(lambdas) & (lambdas > 0) & (~np.isclose(lambdas, 0, atol=
|
|
207
|
+
np.isreal(lambdas) & (lambdas > 0) & (~np.isclose(lambdas, 0, atol=atol))
|
|
202
208
|
)
|
|
203
209
|
|
|
204
210
|
removed = int(len(lambdas) - np.count_nonzero(valid_mask))
|