CodeEntropy 2.5.0__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.5.0 → codeentropy-2.6.0}/.github/renovate.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/workflows/coveralls-main.yaml +1 -1
- codeentropy-2.6.0/.github/workflows/dependency-floors.yaml +50 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/workflows/pr.yaml +20 -7
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/workflows/release.yaml +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/workflows/update_regression_baselines.yaml +1 -1
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/workflows/weekly-docs.yaml +1 -1
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/workflows/weekly-regression.yaml +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CITATION.cff +2 -2
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/__init__.py +1 -1
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/cli.py +12 -4
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/config/argparse.py +6 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/config/runtime.py +9 -7
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/conformational_state_builder.py +15 -5
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/state_assignment.py +9 -6
- {codeentropy-2.5.0 → codeentropy-2.6.0}/PKG-INFO +7 -7
- {codeentropy-2.5.0 → codeentropy-2.6.0}/README.md +1 -1
- {codeentropy-2.5.0 → codeentropy-2.6.0}/conda-recipe/meta.yaml +16 -16
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/developer_guide.rst +21 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/pyproject.toml +5 -5
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/axes_off.json +4 -4
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/combined_forcetorque_false.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/default.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/frame_window.json +2 -2
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/grouping_each.json +12 -12
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/rad.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/selection_subset.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzene/axes_off.json +4 -4
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzene/combined_forcetorque_off.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzene/default.json +4 -4
- codeentropy-2.6.0/tests/regression/baselines/benzene/frame_window.json +16 -0
- {codeentropy-2.5.0 → 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.6.0/tests/regression/baselines/benzene/selection_subset.json +16 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/cyclohexane/axes_off.json +4 -4
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/cyclohexane/combined_forcetorque_off.json +4 -4
- codeentropy-2.6.0/tests/regression/baselines/cyclohexane/default.json +16 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/cyclohexane/frame_window.json +4 -4
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/cyclohexane/grouping_each.json +20 -20
- codeentropy-2.6.0/tests/regression/baselines/cyclohexane/rad.json +16 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/cyclohexane/selection_subset.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/dna/axes_off.json +6 -6
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/dna/combined_forcetorque_off.json +8 -8
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/dna/default.json +5 -5
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/dna/frame_window.json +6 -6
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/dna/grouping_each.json +5 -5
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/dna/selection_subset.json +5 -5
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/ethyl-acetate/axes_off.json +2 -2
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/ethyl-acetate/combined_forcetorque_off.json +4 -4
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/ethyl-acetate/default.json +2 -2
- codeentropy-2.6.0/tests/regression/baselines/ethyl-acetate/frame_window.json +16 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/ethyl-acetate/grouping_each.json +17 -17
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/ethyl-acetate/rad.json +3 -3
- codeentropy-2.6.0/tests/regression/baselines/ethyl-acetate/selection_subset.json +16 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methane/axes_off.json +2 -2
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methane/combined_forcetorque_off.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methane/default.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methane/grouping_each.json +27 -27
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methane/rad.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methane/selection_subset.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methanol/axes_off.json +4 -4
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methanol/combined_forcetorque_off.json +4 -4
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methanol/default.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methanol/frame_window.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methanol/grouping_each.json +23 -23
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methanol/rad.json +3 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methanol/selection_subset.json +4 -4
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/octonol/axes_off.json +1 -1
- codeentropy-2.6.0/tests/regression/baselines/octonol/combined_forcetorque_off.json +16 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/octonol/default.json +3 -3
- codeentropy-2.6.0/tests/regression/baselines/octonol/frame_window.json +16 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/octonol/grouping_each.json +16 -16
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/octonol/rad.json +3 -3
- codeentropy-2.6.0/tests/regression/baselines/octonol/selection_subset.json +16 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/water/axes_off.json +2 -2
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/water/grouping_each.json +17 -17
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/water/rad.json +2 -2
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/cli/test_cli.py +14 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/test_argparse_build_parser.py +13 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_show_splash.py +8 -3
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_conformational_state_builder.py +6 -6
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_state_assignment.py +5 -4
- codeentropy-2.5.0/tests/regression/baselines/benzene/frame_window.json +0 -16
- codeentropy-2.5.0/tests/regression/baselines/benzene/rad.json +0 -16
- codeentropy-2.5.0/tests/regression/baselines/benzene/selection_subset.json +0 -16
- codeentropy-2.5.0/tests/regression/baselines/cyclohexane/default.json +0 -16
- codeentropy-2.5.0/tests/regression/baselines/cyclohexane/rad.json +0 -16
- codeentropy-2.5.0/tests/regression/baselines/ethyl-acetate/frame_window.json +0 -16
- codeentropy-2.5.0/tests/regression/baselines/ethyl-acetate/selection_subset.json +0 -16
- codeentropy-2.5.0/tests/regression/baselines/octonol/combined_forcetorque_off.json +0 -16
- codeentropy-2.5.0/tests/regression/baselines/octonol/frame_window.json +0 -16
- codeentropy-2.5.0/tests/regression/baselines/octonol/selection_subset.json +0 -16
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/CONTRIBUTING.md +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/ISSUE_TEMPLATE/general_report.md +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/workflows/daily.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.github/workflows/update-copyright-years-in-license-file.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.gitignore +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/.pre-commit-config.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CODE_OF_CONDUCT.md +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/__main__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/config/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/core/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/core/dask_clusters.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/core/logging.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/configurational.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/graph.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/nodes/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/nodes/aggregate.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/nodes/configurational.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/nodes/orientational.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/nodes/vibrational.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/orientational.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/vibrational.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/water.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/entropy/workflow.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/axes.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/angle_observations.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/kernels.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/peak_detection.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/topology.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/execution/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/execution/chunks.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/execution/policy.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/execution/reducers.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/execution/scheduler.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/execution/tasks.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/forces.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/graph/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/graph/conformation_dag.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/graph/frame_dag.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/graph/level_dag.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/hierarchy.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/linalg.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/neighbors.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/accumulators.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/axes_topology.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/beads.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/covariance.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/detect_levels.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/nodes/detect_molecules.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/search.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/molecules/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/molecules/grouping.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/results/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/results/reporter.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/trajectory/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/trajectory/frames.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/trajectory/mda.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/trajectory/source.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/LICENSE +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/Makefile +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/README.md +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/_static/README.md +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/_static/custom.css +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/_static/logos/biosim-codeentropy_logo_dark.png +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/_static/logos/biosim-codeentropy_logo_light.png +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/_templates/README.md +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.cli.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.config.argparse.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.config.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.config.runtime.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.core.dask_clusters.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.core.logging.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.core.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.configurational.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.graph.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.nodes.aggregate.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.nodes.configurational.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.nodes.orientational.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.nodes.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.nodes.vibrational.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.orientational.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.vibrational.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.water.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.entropy.workflow.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.axes.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.angle_observations.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.conformational_state_builder.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.kernels.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.peak_detection.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.state_assignment.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.dihedrals.topology.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.chunks.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.policy.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.reducers.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.scheduler.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.execution.tasks.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.forces.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.graph.conformation_dag.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.graph.frame_dag.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.graph.level_dag.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.graph.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.hierarchy.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.linalg.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.neighbors.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.accumulators.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.axes_topology.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.beads.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.covariance.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.detect_levels.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.detect_molecules.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.nodes.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.levels.search.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.molecules.grouping.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.molecules.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.results.reporter.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.results.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.trajectory.frames.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.trajectory.mda.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.trajectory.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/CodeEntropy.trajectory.source.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/api/modules.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/conf.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/config.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/faq.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/getting_started.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/index.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/docs/science.rst +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/readthedocs.yml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/__init__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/methane/frame_window.json +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/water/combined_forcetorque_off.json +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/water/default.json +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/water/frame_window.json +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/water/selection_subset.json +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/water/water_off.json +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/cases.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/axes_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/combined_forcetorque_false.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/default.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/frame_window.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/grouping_each.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/rad.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzaldehyde/selection_subset.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzene/axes_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzene/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzene/default.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzene/frame_window.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzene/grouping_each.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzene/rad.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/benzene/selection_subset.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/axes_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/default.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/frame_window.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/grouping_each.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/rad.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/cyclohexane/selection_subset.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/dna/axes_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/dna/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/dna/default.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/dna/frame_window.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/dna/grouping_each.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/dna/selection_subset.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/axes_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/default.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/frame_window.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/grouping_each.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/rad.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/ethyl-acetate/selection_subset.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methane/axes_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methane/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methane/default.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methane/frame_window.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methane/grouping_each.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methane/rad.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methane/selection_subset.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methanol/axes_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methanol/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methanol/default.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methanol/frame_window.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methanol/grouping_each.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methanol/rad.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/methanol/selection_subset.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/octonol/axes_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/octonol/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/octonol/default.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/octonol/frame_window.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/octonol/grouping_each.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/octonol/rad.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/octonol/selection_subset.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/water/axes_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/water/combined_forcetorque_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/water/default.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/water/frame_window.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/water/grouping_each.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/water/rad.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/water/selection_subset.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/configs/water/water_off.yaml +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/conftest.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/helpers.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/list_systems.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/test_regression.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/cli/test___main__.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/conftest.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/test_argparse_load_config.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/test_argparse_resolve.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/test_argparse_str2bool.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/argparse/test_argparse_validate_inputs.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/conftest.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_build_universe_branches.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_citation_data.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_create_job_folder.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_print_args_table.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_required_args.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_run_entropy_workflow_branches.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_runtime_properties.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_unit_conversions.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/config/runtime/test_universe_io.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/dask_clusters/test_dask_clusters.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/conftest.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_configure_loggers.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_error_filter.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_export_console.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_get_console_singleton.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_handlers_setup.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/core/logging/test_set_level.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/conftest.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/nodes/test_aggregate_node.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/nodes/test_configurational_node.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/nodes/test_orientational_node.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/nodes/test_vibrational_node.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_configurational_edges.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_configurational_entropy_math.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_graph.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_orientational_entropy.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_vibrational_entropy_math.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_water_entropy.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/entropy/test_workflow.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/conftest.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_angle_observations.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_kernels.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_peak_detection.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/dihedrals/test_topology.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/execution/test_chunks.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/execution/test_policy.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/execution/test_reducers.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/execution/test_scheduler.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/execution/test_tasks.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_axes_topology.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_beads_node.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_covariance_node.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_detect_levels_node.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_detect_molecules_node.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/nodes/test_init_covariance_accumulators_node.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_axes.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_conformation_dag.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_forces_force_torque_calculator.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_frame_graph.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_hierarchy_builder.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_level_dag.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_linalg_matrix_utils.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_mda_universe_operations.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_neighbors.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/levels/test_search.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/molecules/test_grouping.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/results/test_reporter.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/trajectory/test_frames.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/CodeEntropy/trajectory/test_source.py +0 -0
- {codeentropy-2.5.0 → codeentropy-2.6.0}/tests/unit/conftest.py +0 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"timezone": "Europe/London",
|
|
8
8
|
"schedule": ["after 9am and before 5pm every weekday"],
|
|
9
9
|
"dependencyDashboard": true,
|
|
10
|
-
"
|
|
10
|
+
"reviewers": ["harryswift01", "jimboid"],
|
|
11
11
|
"minimumReleaseAge": "3 days",
|
|
12
12
|
"packageRules": [
|
|
13
13
|
{
|
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
"addLabels": ["ci", "dependencies"]
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
|
-
"matchManagers": ["pep621"],
|
|
19
|
+
"matchManagers": ["poetry", "pep621"],
|
|
20
20
|
"matchDepTypes": ["project.dependencies"],
|
|
21
21
|
"rangeStrategy": "widen",
|
|
22
22
|
"groupName": "Software Production Dependencies",
|
|
23
23
|
"addLabels": ["python", "production-deps"]
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
"matchManagers": ["pep621"],
|
|
26
|
+
"matchManagers": ["poetry", "pep621"],
|
|
27
27
|
"matchDepTypes": ["project.optional-dependencies", "build-system.requires"],
|
|
28
28
|
"rangeStrategy": "replace",
|
|
29
29
|
"groupName": "Python CI and Dev Tools",
|
|
@@ -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,6 +38,19 @@ 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
56
|
runs-on: ubuntu-26.04
|
|
@@ -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: |
|
|
@@ -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: |
|
|
@@ -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
|
|
@@ -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: |
|
|
@@ -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: |
|
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
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
|
|
@@ -169,7 +169,7 @@ jobs:
|
|
|
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: |
|
|
@@ -203,7 +203,7 @@ jobs:
|
|
|
203
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
|
|
@@ -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: |
|
|
@@ -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: |
|
|
@@ -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,
|
{codeentropy-2.5.0 → codeentropy-2.6.0}/CodeEntropy/levels/dihedrals/conformational_state_builder.py
RENAMED
|
@@ -46,7 +46,12 @@ class ConformationStateBuilder(ConformationPeakDetector, ConformationStateAssign
|
|
|
46
46
|
frame_selection: FrameSelection,
|
|
47
47
|
progress: _RichProgressSink | None = None,
|
|
48
48
|
chunk_size: int | None = None,
|
|
49
|
-
) -> tuple[
|
|
49
|
+
) -> tuple[
|
|
50
|
+
dict[UAKey, list[str]],
|
|
51
|
+
dict[int, list[str]],
|
|
52
|
+
dict[UAKey, int],
|
|
53
|
+
dict[int, int],
|
|
54
|
+
]:
|
|
50
55
|
"""Build conformational state labels from selected trajectory frames.
|
|
51
56
|
|
|
52
57
|
Args:
|
|
@@ -87,7 +92,12 @@ class ConformationStateBuilder(ConformationPeakDetector, ConformationStateAssign
|
|
|
87
92
|
frame_selection: FrameSelection,
|
|
88
93
|
chunk_size: int,
|
|
89
94
|
progress: _RichProgressSink | None = None,
|
|
90
|
-
) -> tuple[
|
|
95
|
+
) -> tuple[
|
|
96
|
+
dict[UAKey, list[str]],
|
|
97
|
+
dict[int, list[str]],
|
|
98
|
+
dict[UAKey, int],
|
|
99
|
+
dict[int, int],
|
|
100
|
+
]:
|
|
91
101
|
"""Build conformational states with serial frame-chunk map-reduce.
|
|
92
102
|
|
|
93
103
|
Args:
|
|
@@ -108,11 +118,10 @@ class ConformationStateBuilder(ConformationPeakDetector, ConformationStateAssign
|
|
|
108
118
|
if chunk_size < 1:
|
|
109
119
|
raise ValueError("chunk_size must be >= 1")
|
|
110
120
|
|
|
111
|
-
number_groups = len(groups)
|
|
112
121
|
states_ua: dict[UAKey, list[str]] = {}
|
|
113
|
-
states_res:
|
|
122
|
+
states_res: dict[int, list[str]] = {}
|
|
114
123
|
flexible_ua: dict[UAKey, int] = {}
|
|
115
|
-
flexible_res:
|
|
124
|
+
flexible_res: dict[int, int] = {}
|
|
116
125
|
|
|
117
126
|
task: TaskID | None = None
|
|
118
127
|
if progress is not None:
|
|
@@ -186,6 +195,7 @@ class ConformationStateBuilder(ConformationPeakDetector, ConformationStateAssign
|
|
|
186
195
|
state_data = self._reduce_state_partials(state_partials)
|
|
187
196
|
|
|
188
197
|
self._merge_group_state_data(
|
|
198
|
+
group_id=group_id,
|
|
189
199
|
state_data=state_data,
|
|
190
200
|
states_ua=states_ua,
|
|
191
201
|
states_res=states_res,
|
|
@@ -170,20 +170,23 @@ class ConformationStateAssigner:
|
|
|
170
170
|
|
|
171
171
|
@staticmethod
|
|
172
172
|
def _merge_group_state_data(
|
|
173
|
+
group_id: int,
|
|
173
174
|
state_data: ConformationStateData,
|
|
174
175
|
states_ua: dict[UAKey, list[str]],
|
|
175
|
-
states_res:
|
|
176
|
+
states_res: dict[int, list[str]],
|
|
176
177
|
flexible_ua: dict[UAKey, int],
|
|
177
|
-
flexible_res:
|
|
178
|
+
flexible_res: dict[int, int],
|
|
178
179
|
) -> None:
|
|
179
180
|
"""Merge one group's state data into final output accumulators.
|
|
180
181
|
|
|
181
182
|
Args:
|
|
183
|
+
group_id: Id of the group the state data belongs to.
|
|
182
184
|
state_data: Serial conformational state data for one group.
|
|
183
185
|
states_ua: UA state accumulator to mutate.
|
|
184
|
-
states_res: Residue state accumulator to mutate.
|
|
186
|
+
states_res: Residue state accumulator, keyed by group id, to mutate.
|
|
185
187
|
flexible_ua: UA flexible-dihedral accumulator to mutate.
|
|
186
|
-
flexible_res: Residue flexible-dihedral accumulator
|
|
188
|
+
flexible_res: Residue flexible-dihedral accumulator, keyed by group id,
|
|
189
|
+
to mutate.
|
|
187
190
|
|
|
188
191
|
Returns:
|
|
189
192
|
None. Mutates the provided accumulators.
|
|
@@ -199,8 +202,8 @@ class ConformationStateAssigner:
|
|
|
199
202
|
state_data.flexible_ua_updates[key],
|
|
200
203
|
)
|
|
201
204
|
|
|
202
|
-
states_res
|
|
203
|
-
flexible_res
|
|
205
|
+
states_res[group_id] = state_data.state_res
|
|
206
|
+
flexible_res[group_id] = state_data.flex_res
|
|
204
207
|
|
|
205
208
|
def _process_conformations_from_angles(
|
|
206
209
|
self,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: CodeEntropy
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.0
|
|
4
4
|
Summary: CodeEntropy is a Python package for computing the configurational entropy of macromolecular systems using forces sampled from molecular dynamics (MD) simulations. It implements the multiscale cell correlation method to provide accurate and efficient entropy estimates, supporting a wide range of applications in molecular simulation and statistical mechanics.
|
|
5
5
|
Keywords: entropy,macromolecular systems,MD simulation
|
|
6
6
|
Author-email: Arghya 'Argo' Chakravorty <arghyac@umich.edu>, Donald Chung-HK <donald.chung@stfc.ac.uk>, Sarah Fegan <sarah.fegan@stfc.ac.uk>, James Gebbie-Rayet <james.gebbie@stfc.ac.uk>, Sarah Harris <sarah.harris@sheffield.ac.uk>, Richard Henchman <rhen7213@uni.sydney.edu.au>, Jonathan Higham <j.higham4@lancaster.ac.uk>, Jas Kalayan <jas.kalayan@stfc.ac.uk>, Ioana Papa <iapapa1@sheffield.ac.uk>
|
|
@@ -16,21 +16,21 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
16
16
|
Classifier: Natural Language :: English
|
|
17
17
|
Classifier: Development Status :: 5 - Production/Stable
|
|
18
18
|
License-File: LICENSE
|
|
19
|
-
Requires-Dist: numpy>=2.3.
|
|
19
|
+
Requires-Dist: numpy>=2.3.5,<2.6.0
|
|
20
20
|
Requires-Dist: mdanalysis>=2.10,<3.0
|
|
21
21
|
Requires-Dist: pandas>=2.3.3,<4.0
|
|
22
|
-
Requires-Dist: psutil>=
|
|
22
|
+
Requires-Dist: psutil>=7.1.3,<8.0
|
|
23
23
|
Requires-Dist: PyYAML>=6.0.3,<7.0
|
|
24
24
|
Requires-Dist: rich>=13.0.0,<16.0
|
|
25
25
|
Requires-Dist: art>=5.0,<7.0
|
|
26
26
|
Requires-Dist: networkx>=2.8,<4.0
|
|
27
27
|
Requires-Dist: waterEntropy>=2,<3.0
|
|
28
28
|
Requires-Dist: requests>=2.32.2,<3.0
|
|
29
|
-
Requires-Dist: rdkit>=2025.3.4,<
|
|
29
|
+
Requires-Dist: rdkit>=2025.3.4,<2027
|
|
30
30
|
Requires-Dist: numba>=0.63.0,<0.70
|
|
31
|
-
Requires-Dist: dask>=2025.
|
|
31
|
+
Requires-Dist: dask>=2025.7.0,<2027.1.0
|
|
32
32
|
Requires-Dist: dask-jobqueue>=0.9.0,<1.0
|
|
33
|
-
Requires-Dist: distributed>=2025.
|
|
33
|
+
Requires-Dist: distributed>=2025.7.0,<2027.1.0
|
|
34
34
|
Requires-Dist: sphinx>=8.0.0,<10.0 ; extra == "docs"
|
|
35
35
|
Requires-Dist: nbsphinx>=0.9.3,<1.0 ; extra == "docs"
|
|
36
36
|
Requires-Dist: sphinx_copybutton>=0.5,<1.0 ; extra == "docs"
|
|
@@ -56,7 +56,7 @@ CodeEntropy
|
|
|
56
56
|
|
|
57
57
|
| Category | Badges |
|
|
58
58
|
|----------------|--------|
|
|
59
|
-
| **Build** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/pr.yaml) [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/daily.yaml) |
|
|
59
|
+
| **Build** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/pr.yaml) [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/daily.yaml) [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/dependency-floors.yaml) |
|
|
60
60
|
| **Regression** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-regression.yaml) |
|
|
61
61
|
| **Documentation** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-docs.yaml) [](https://codeentropy.readthedocs.io/en/latest/?badge=latest) |
|
|
62
62
|
| **Citation** | [](https://doi.org/10.5281/zenodo.17570721) |
|
|
@@ -3,7 +3,7 @@ CodeEntropy
|
|
|
3
3
|
|
|
4
4
|
| Category | Badges |
|
|
5
5
|
|----------------|--------|
|
|
6
|
-
| **Build** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/pr.yaml) [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/daily.yaml) |
|
|
6
|
+
| **Build** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/pr.yaml) [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/daily.yaml) [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/dependency-floors.yaml) |
|
|
7
7
|
| **Regression** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-regression.yaml) |
|
|
8
8
|
| **Documentation** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-docs.yaml) [](https://codeentropy.readthedocs.io/en/latest/?badge=latest) |
|
|
9
9
|
| **Citation** | [](https://doi.org/10.5281/zenodo.17570721) |
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
{% set name = "codeentropy" %}
|
|
2
2
|
{% set version = "0.0.0" %}
|
|
3
|
+
{% set pyproject = load_file_data("../pyproject.toml", from_recipe_dir=True) %}
|
|
4
|
+
{% set pip_only = namespace(water_entropy="") %}
|
|
5
|
+
{% for dependency in pyproject["project"]["dependencies"] %}
|
|
6
|
+
{% if dependency.startswith("waterEntropy") %}
|
|
7
|
+
{% set pip_only.water_entropy = dependency %}
|
|
8
|
+
{% endif %}
|
|
9
|
+
{% endfor %}
|
|
3
10
|
|
|
4
11
|
package:
|
|
5
12
|
name: {{ name }}
|
|
@@ -12,7 +19,7 @@ build:
|
|
|
12
19
|
noarch: python
|
|
13
20
|
script: |
|
|
14
21
|
python -m pip install . -vv --no-deps
|
|
15
|
-
PIP_NO_INDEX=0 python -m pip install -vv --index-url https://pypi.org/simple "
|
|
22
|
+
PIP_NO_INDEX=0 python -m pip install -vv --index-url https://pypi.org/simple "{{ pip_only.water_entropy }}"
|
|
16
23
|
entry_points:
|
|
17
24
|
- CodeEntropy=CodeEntropy.cli:main
|
|
18
25
|
|
|
@@ -22,21 +29,14 @@ requirements:
|
|
|
22
29
|
- pip
|
|
23
30
|
- flit-core >=4,<5
|
|
24
31
|
run:
|
|
25
|
-
- python
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
- networkx >=2.8,<4.0
|
|
34
|
-
- requests >=2.32.2,<3.0
|
|
35
|
-
- rdkit >=2025.3.4,<2026
|
|
36
|
-
- dask >=2025.4.0,<2027.1.0
|
|
37
|
-
- distributed >=2025.4.0,<2027.1.0
|
|
38
|
-
- dask-jobqueue >=0.9.0,<1.0
|
|
39
|
-
- numba >=0.63.0,<0.70
|
|
32
|
+
- python {{ pyproject["project"]["requires-python"] }}
|
|
33
|
+
{% for dependency in pyproject["project"]["dependencies"] %}
|
|
34
|
+
{% if dependency.startswith("art>") %}
|
|
35
|
+
- python-{{ dependency }}
|
|
36
|
+
{% elif not dependency.startswith("waterEntropy") %}
|
|
37
|
+
- {{ dependency | lower }}
|
|
38
|
+
{% endif %}
|
|
39
|
+
{% endfor %}
|
|
40
40
|
|
|
41
41
|
test:
|
|
42
42
|
imports:
|
|
@@ -167,9 +167,30 @@ Weekly workflows:
|
|
|
167
167
|
|
|
168
168
|
- Full regression suite including slow tests
|
|
169
169
|
- Documentation build across all Python versions
|
|
170
|
+
- Dependency floor checks (see :ref:`dependency-policy`)
|
|
170
171
|
|
|
171
172
|
CI also caches regression datasets to improve performance.
|
|
172
173
|
|
|
174
|
+
.. _dependency-policy:
|
|
175
|
+
|
|
176
|
+
Dependency Policy
|
|
177
|
+
-----------------
|
|
178
|
+
|
|
179
|
+
Runtime dependencies in ``pyproject.toml`` are declared as ranges. The lower
|
|
180
|
+
bound (floor) is the oldest release CodeEntropy is known to work with, so that it
|
|
181
|
+
stays installable alongside other scientific packages. Floors are only raised
|
|
182
|
+
when the code needs a newer release. Upper bounds are widened by Renovate.
|
|
183
|
+
|
|
184
|
+
The unit job in the pull request workflow and the weekly ``dependency-floors.yaml``
|
|
185
|
+
workflow check this. They check that the lowest allowed versions resolve to
|
|
186
|
+
installable wheels on each platform and Python version, and that the unit tests
|
|
187
|
+
pass with them installed.
|
|
188
|
+
|
|
189
|
+
Run the same checks locally with `uv <https://docs.astral.sh/uv/>`_::
|
|
190
|
+
|
|
191
|
+
uv pip install --resolution lowest-direct -e ".[testing]"
|
|
192
|
+
python -m pytest tests/unit
|
|
193
|
+
|
|
173
194
|
Building Documentation
|
|
174
195
|
----------------------
|
|
175
196
|
|
|
@@ -37,21 +37,21 @@ classifiers = [
|
|
|
37
37
|
keywords = ["entropy", "macromolecular systems", "MD simulation"]
|
|
38
38
|
requires-python = ">=3.12"
|
|
39
39
|
dependencies = [
|
|
40
|
-
"numpy>=2.3.
|
|
40
|
+
"numpy>=2.3.5,<2.6.0",
|
|
41
41
|
"mdanalysis>=2.10,<3.0",
|
|
42
42
|
"pandas>=2.3.3,<4.0",
|
|
43
|
-
"psutil>=
|
|
43
|
+
"psutil>=7.1.3,<8.0",
|
|
44
44
|
"PyYAML>=6.0.3,<7.0",
|
|
45
45
|
"rich>=13.0.0,<16.0",
|
|
46
46
|
"art>=5.0,<7.0",
|
|
47
47
|
"networkx>=2.8,<4.0",
|
|
48
48
|
"waterEntropy>=2,<3.0",
|
|
49
49
|
"requests>=2.32.2,<3.0",
|
|
50
|
-
"rdkit>=2025.3.4,<
|
|
50
|
+
"rdkit>=2025.3.4,<2027",
|
|
51
51
|
"numba>=0.63.0,<0.70",
|
|
52
|
-
"dask>=2025.
|
|
52
|
+
"dask>=2025.7.0,<2027.1.0",
|
|
53
53
|
"dask-jobqueue>=0.9.0,<1.0",
|
|
54
|
-
"distributed>=2025.
|
|
54
|
+
"distributed>=2025.7.0,<2027.1.0",
|
|
55
55
|
]
|
|
56
56
|
|
|
57
57
|
[project.urls]
|
{codeentropy-2.5.0 → codeentropy-2.6.0}/tests/regression/baselines/benzaldehyde/axes_off.json
RENAMED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"0": {
|
|
4
4
|
"components": {
|
|
5
5
|
"united_atom:Transvibrational": 0.06950663196232491,
|
|
6
|
-
"united_atom:Rovibrational": 35.
|
|
7
|
-
"residue:FTmat-Transvibrational": 86.
|
|
8
|
-
"residue:FTmat-Rovibrational": 62.
|
|
6
|
+
"united_atom:Rovibrational": 35.19655714759134,
|
|
7
|
+
"residue:FTmat-Transvibrational": 86.64136384477892,
|
|
8
|
+
"residue:FTmat-Rovibrational": 62.24303760058521,
|
|
9
9
|
"united_atom:Conformational": 0.0,
|
|
10
10
|
"residue:Conformational": 0.0,
|
|
11
11
|
"residue:Orientational": 20.481571492615355
|
|
12
12
|
},
|
|
13
|
-
"total": 204.
|
|
13
|
+
"total": 204.63203671753317
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
}
|