CodeEntropy 1.0.6__tar.gz → 1.1.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-1.0.6 → codeentropy-1.1.0}/.github/CONTRIBUTING.md +16 -16
- codeentropy-1.1.0/.github/ISSUE_TEMPLATE/bug_report.md +70 -0
- codeentropy-1.1.0/.github/ISSUE_TEMPLATE/config.yml +22 -0
- codeentropy-1.1.0/.github/ISSUE_TEMPLATE/documentation.md +19 -0
- codeentropy-1.1.0/.github/ISSUE_TEMPLATE/feature_request.md +28 -0
- codeentropy-1.1.0/.github/ISSUE_TEMPLATE/general_report.md +13 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/.github/PULL_REQUEST_TEMPLATE.md +4 -4
- {codeentropy-1.0.6 → codeentropy-1.1.0}/.github/renovate.json +6 -6
- codeentropy-1.1.0/.github/workflows/daily.yaml +38 -0
- codeentropy-1.1.0/.github/workflows/pr.yaml +175 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/.github/workflows/release.yaml +52 -10
- codeentropy-1.1.0/.github/workflows/update-copyright-years-in-license-file.yaml +17 -0
- codeentropy-1.1.0/.github/workflows/weekly-docs.yaml +49 -0
- codeentropy-1.1.0/.github/workflows/weekly-regression.yaml +52 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/.gitignore +5 -0
- codeentropy-1.1.0/.pre-commit-config.yaml +37 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/CITATION.cff +2 -2
- {codeentropy-1.0.6 → codeentropy-1.1.0}/CODE_OF_CONDUCT.md +1 -1
- {codeentropy-1.0.6 → codeentropy-1.1.0}/CodeEntropy/__init__.py +1 -1
- codeentropy-1.1.0/CodeEntropy/__main__.py +6 -0
- codeentropy-1.1.0/CodeEntropy/cli.py +35 -0
- codeentropy-1.1.0/CodeEntropy/config/argparse.py +439 -0
- codeentropy-1.1.0/CodeEntropy/config/runtime.py +390 -0
- codeentropy-1.1.0/CodeEntropy/core/logging.py +220 -0
- codeentropy-1.1.0/CodeEntropy/entropy/__init__.py +0 -0
- codeentropy-1.1.0/CodeEntropy/entropy/configurational.py +266 -0
- codeentropy-1.1.0/CodeEntropy/entropy/graph.py +141 -0
- codeentropy-1.1.0/CodeEntropy/entropy/nodes/__init__.py +0 -0
- codeentropy-1.1.0/CodeEntropy/entropy/nodes/aggregate.py +85 -0
- codeentropy-1.1.0/CodeEntropy/entropy/nodes/configurational.py +229 -0
- codeentropy-1.1.0/CodeEntropy/entropy/nodes/vibrational.py +431 -0
- codeentropy-1.1.0/CodeEntropy/entropy/orientational.py +158 -0
- codeentropy-1.1.0/CodeEntropy/entropy/vibrational.py +252 -0
- codeentropy-1.1.0/CodeEntropy/entropy/water.py +243 -0
- codeentropy-1.1.0/CodeEntropy/entropy/workflow.py +359 -0
- codeentropy-1.1.0/CodeEntropy/levels/__init__.py +0 -0
- codeentropy-1.1.0/CodeEntropy/levels/axes.py +638 -0
- codeentropy-1.1.0/CodeEntropy/levels/dihedrals.py +492 -0
- codeentropy-1.1.0/CodeEntropy/levels/forces.py +311 -0
- codeentropy-1.1.0/CodeEntropy/levels/frame_dag.py +116 -0
- codeentropy-1.1.0/CodeEntropy/levels/hierarchy.py +142 -0
- codeentropy-1.1.0/CodeEntropy/levels/level_dag.py +340 -0
- codeentropy-1.1.0/CodeEntropy/levels/linalg.py +107 -0
- codeentropy-1.1.0/CodeEntropy/levels/mda.py +294 -0
- codeentropy-1.1.0/CodeEntropy/levels/nodes/__init__.py +0 -0
- codeentropy-1.1.0/CodeEntropy/levels/nodes/accumulators.py +193 -0
- codeentropy-1.1.0/CodeEntropy/levels/nodes/beads.py +231 -0
- codeentropy-1.1.0/CodeEntropy/levels/nodes/conformations.py +116 -0
- codeentropy-1.1.0/CodeEntropy/levels/nodes/covariance.py +701 -0
- codeentropy-1.1.0/CodeEntropy/levels/nodes/detect_levels.py +65 -0
- codeentropy-1.1.0/CodeEntropy/levels/nodes/detect_molecules.py +108 -0
- codeentropy-1.1.0/CodeEntropy/molecules/__init__.py +0 -0
- codeentropy-1.1.0/CodeEntropy/molecules/grouping.py +204 -0
- codeentropy-1.1.0/CodeEntropy/results/__init__.py +0 -0
- codeentropy-1.1.0/CodeEntropy/results/reporter.py +551 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/LICENSE +1 -1
- codeentropy-1.1.0/PKG-INFO +80 -0
- codeentropy-1.1.0/README.md +27 -0
- codeentropy-1.1.0/conda-recipe/meta.yaml +47 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/docs/Makefile +1 -1
- {codeentropy-1.0.6 → codeentropy-1.1.0}/docs/README.md +1 -2
- {codeentropy-1.0.6 → codeentropy-1.1.0}/docs/_static/README.md +2 -2
- {codeentropy-1.0.6 → codeentropy-1.1.0}/docs/_static/custom.css +1 -1
- codeentropy-1.1.0/docs/_static/logos/biosim-codeentropy_logo_dark.png +0 -0
- codeentropy-1.1.0/docs/_static/logos/biosim-codeentropy_logo_light.png +0 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/docs/_templates/README.md +2 -2
- codeentropy-1.1.0/docs/api/CodeEntropy.cli.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.config.argparse.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.config.rst +16 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.config.runtime.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.core.logging.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.core.rst +15 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.configurational.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.graph.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.nodes.aggregate.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.nodes.configurational.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.nodes.rst +17 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.nodes.vibrational.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.orientational.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.rst +28 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.vibrational.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.water.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.entropy.workflow.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.axes.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.dihedrals.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.forces.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.frame_dag.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.hierarchy.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.level_dag.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.linalg.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.mda.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.nodes.accumulators.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.nodes.beads.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.nodes.conformations.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.nodes.covariance.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.nodes.detect_levels.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.nodes.detect_molecules.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.nodes.rst +20 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.levels.rst +30 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.molecules.grouping.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.molecules.rst +15 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.results.reporter.rst +7 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.results.rst +15 -0
- codeentropy-1.1.0/docs/api/CodeEntropy.rst +28 -0
- codeentropy-1.1.0/docs/api/modules.rst +7 -0
- codeentropy-1.1.0/docs/conf.py +120 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/docs/config.yaml +1 -1
- codeentropy-1.1.0/docs/developer_guide.rst +197 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/docs/faq.rst +6 -6
- codeentropy-1.1.0/docs/getting_started.rst +333 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/docs/index.rst +1 -1
- {codeentropy-1.0.6 → codeentropy-1.1.0}/docs/science.rst +9 -9
- {codeentropy-1.0.6 → codeentropy-1.1.0}/pyproject.toml +38 -35
- {codeentropy-1.0.6 → codeentropy-1.1.0}/readthedocs.yml +1 -1
- codeentropy-1.1.0/tests/pytest.ini +10 -0
- codeentropy-1.1.0/tests/regression/baselines/benzaldehyde.json +43 -0
- codeentropy-1.1.0/tests/regression/baselines/benzene.json +43 -0
- codeentropy-1.1.0/tests/regression/baselines/cyclohexane.json +43 -0
- codeentropy-1.1.0/tests/regression/baselines/dna.json +58 -0
- codeentropy-1.1.0/tests/regression/baselines/ethyl-acetate.json +43 -0
- codeentropy-1.1.0/tests/regression/baselines/methane.json +40 -0
- codeentropy-1.1.0/tests/regression/baselines/methanol.json +43 -0
- codeentropy-1.1.0/tests/regression/baselines/octonol.json +43 -0
- codeentropy-1.1.0/tests/regression/configs/benzaldehyde/config.yaml +12 -0
- codeentropy-1.1.0/tests/regression/configs/benzene/config.yaml +12 -0
- codeentropy-1.1.0/tests/regression/configs/cyclohexane/config.yaml +12 -0
- codeentropy-1.1.0/tests/regression/configs/dna/config.yaml +10 -0
- codeentropy-1.1.0/tests/regression/configs/ethyl-acetate/config.yaml +12 -0
- codeentropy-1.1.0/tests/regression/configs/methane/config.yaml +13 -0
- codeentropy-1.1.0/tests/regression/configs/methanol/config.yaml +12 -0
- codeentropy-1.1.0/tests/regression/configs/octonol/config.yaml +12 -0
- codeentropy-1.1.0/tests/regression/conftest.py +46 -0
- codeentropy-1.1.0/tests/regression/helpers.py +407 -0
- codeentropy-1.1.0/tests/regression/test_regression.py +154 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/cli/test___main__.py +13 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/cli/test_cli.py +38 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/argparse/conftest.py +50 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/argparse/test_argparse_build_parser.py +39 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/argparse/test_argparse_load_config.py +50 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/argparse/test_argparse_resolve.py +77 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/argparse/test_argparse_str2bool.py +30 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/argparse/test_argparse_validate_inputs.py +59 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/conftest.py +10 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/test_build_universe_branches.py +33 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/test_citation_data.py +23 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/test_create_job_folder.py +51 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/test_print_args_table.py +22 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/test_required_args.py +28 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/test_run_entropy_workflow_branches.py +158 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/test_runtime_properties.py +7 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/test_show_splash.py +46 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/test_unit_conversions.py +6 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/config/runtime/test_universe_io.py +28 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/core/logging/conftest.py +23 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/core/logging/test_configure_loggers.py +26 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/core/logging/test_error_filter.py +23 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/core/logging/test_export_console.py +17 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/core/logging/test_get_console_singleton.py +19 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/core/logging/test_handlers_setup.py +41 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/core/logging/test_set_level.py +27 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/conftest.py +76 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/nodes/test_aggregate_node.py +22 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/nodes/test_configurational_node.py +72 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/nodes/test_vibrational_node.py +382 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/test_configurational_edges.py +90 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/test_configurational_entropy_math.py +120 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/test_graph.py +79 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/test_orientational_entropy.py +54 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/test_vibrational_entropy_math.py +161 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/test_water_entropy.py +188 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/entropy/test_workflow.py +426 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/conftest.py +58 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/nodes/test_build_beads_node.py +190 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/nodes/test_conformations_node.py +30 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/nodes/test_detect_levels_node.py +19 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/nodes/test_detect_molecules_node.py +45 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/nodes/test_frame_covariance_node.py +634 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/nodes/test_init_covariance_accumulators_node.py +23 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/test_axes.py +701 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/test_dihedrals.py +619 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/test_forces_force_torque_calculator.py +238 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/test_frame_graph.py +50 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/test_hierarchy_builder.py +108 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/test_level_dag_orchestration.py +381 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/test_level_dag_reduce.py +208 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/test_level_dag_reduction.py +91 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/test_linalg_matrix_utils.py +57 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/levels/test_mda_universe_operations.py +217 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/molecules/test_grouping.py +127 -0
- codeentropy-1.1.0/tests/unit/CodeEntropy/results/test_reporter.py +549 -0
- codeentropy-1.0.6/.github/dependabot.yml +0 -14
- codeentropy-1.0.6/.github/workflows/mdanalysis-compatibility-failure.md +0 -11
- codeentropy-1.0.6/.github/workflows/mdanalysis-compatibility.yaml +0 -49
- codeentropy-1.0.6/.github/workflows/project-ci.yaml +0 -71
- codeentropy-1.0.6/.pre-commit-config.yaml +0 -28
- codeentropy-1.0.6/CodeEntropy/config/arg_config_manager.py +0 -272
- codeentropy-1.0.6/CodeEntropy/config/data_logger.py +0 -109
- codeentropy-1.0.6/CodeEntropy/config/logging_config.py +0 -164
- codeentropy-1.0.6/CodeEntropy/dihedral_tools.py +0 -392
- codeentropy-1.0.6/CodeEntropy/entropy.py +0 -1112
- codeentropy-1.0.6/CodeEntropy/group_molecules.py +0 -106
- codeentropy-1.0.6/CodeEntropy/levels.py +0 -919
- codeentropy-1.0.6/CodeEntropy/main.py +0 -28
- codeentropy-1.0.6/CodeEntropy/mda_universe_operations.py +0 -159
- codeentropy-1.0.6/CodeEntropy/run.py +0 -343
- codeentropy-1.0.6/PKG-INFO +0 -81
- codeentropy-1.0.6/README.md +0 -31
- codeentropy-1.0.6/docs/api.rst +0 -70
- codeentropy-1.0.6/docs/conf.py +0 -193
- codeentropy-1.0.6/docs/developer_guide.rst +0 -136
- codeentropy-1.0.6/docs/getting_started.rst +0 -183
- codeentropy-1.0.6/docs/images/biosim-codeentropy_logo_grey.svg +0 -1
- codeentropy-1.0.6/tests/data/md_A4_dna.tpr +0 -0
- codeentropy-1.0.6/tests/data/md_A4_dna_xf.trr +0 -0
- codeentropy-1.0.6/tests/test_CodeEntropy/test_arg_config_manager.py +0 -601
- codeentropy-1.0.6/tests/test_CodeEntropy/test_base.py +0 -45
- codeentropy-1.0.6/tests/test_CodeEntropy/test_data_logger.py +0 -136
- codeentropy-1.0.6/tests/test_CodeEntropy/test_dihedral_tools.py +0 -571
- codeentropy-1.0.6/tests/test_CodeEntropy/test_entropy.py +0 -1936
- codeentropy-1.0.6/tests/test_CodeEntropy/test_group_molecules.py +0 -78
- codeentropy-1.0.6/tests/test_CodeEntropy/test_levels.py +0 -1278
- codeentropy-1.0.6/tests/test_CodeEntropy/test_logging_config.py +0 -103
- codeentropy-1.0.6/tests/test_CodeEntropy/test_main.py +0 -134
- codeentropy-1.0.6/tests/test_CodeEntropy/test_mda_universe_operations.py +0 -315
- codeentropy-1.0.6/tests/test_CodeEntropy/test_run.py +0 -632
- {codeentropy-1.0.6 → codeentropy-1.1.0}/CodeEntropy/config/__init__.py +0 -0
- {codeentropy-1.0.6/tests/data → codeentropy-1.1.0/CodeEntropy/core}/__init__.py +0 -0
- {codeentropy-1.0.6 → codeentropy-1.1.0}/tests/__init__.py +0 -0
|
@@ -10,7 +10,7 @@ This guide explains how to set up your environment, make changes, and submit the
|
|
|
10
10
|
|
|
11
11
|
## Getting Started
|
|
12
12
|
|
|
13
|
-
Before contributing, please review the [Developer Guide](https://codeentropy.readthedocs.io/en/latest/developer_guide.html).
|
|
13
|
+
Before contributing, please review the [Developer Guide](https://codeentropy.readthedocs.io/en/latest/developer_guide.html).
|
|
14
14
|
It covers CodeEntropy’s architecture, setup instructions, and contribution workflow.
|
|
15
15
|
|
|
16
16
|
If you’re new to the project, we also recommend:
|
|
@@ -23,19 +23,19 @@ If you’re new to the project, we also recommend:
|
|
|
23
23
|
|
|
24
24
|
When you’re ready to submit your work:
|
|
25
25
|
|
|
26
|
-
1. **Push your branch** to GitHub.
|
|
27
|
-
2. **Open a [pull request](https://help.github.com/articles/using-pull-requests/)** against the `main` branch.
|
|
26
|
+
1. **Push your branch** to GitHub.
|
|
27
|
+
2. **Open a [pull request](https://help.github.com/articles/using-pull-requests/)** against the `main` branch.
|
|
28
28
|
3. **Fill out the PR template**, including:
|
|
29
|
-
- A concise summary of what your PR does
|
|
30
|
-
- A list of all changes introduced
|
|
31
|
-
- Details on how these changes affect the repository (features, tests, documentation, etc.)
|
|
29
|
+
- A concise summary of what your PR does
|
|
30
|
+
- A list of all changes introduced
|
|
31
|
+
- Details on how these changes affect the repository (features, tests, documentation, etc.)
|
|
32
32
|
4. **Verify before submission**:
|
|
33
|
-
- All tests pass
|
|
34
|
-
- Pre-commit checks succeed
|
|
35
|
-
- Documentation is updated where applicable
|
|
33
|
+
- All tests pass
|
|
34
|
+
- Pre-commit checks succeed
|
|
35
|
+
- Documentation is updated where applicable
|
|
36
36
|
5. **Review process**:
|
|
37
|
-
- Your PR will be reviewed by the core development team.
|
|
38
|
-
- At least **one approval** is required before merging.
|
|
37
|
+
- Your PR will be reviewed by the core development team.
|
|
38
|
+
- At least **one approval** is required before merging.
|
|
39
39
|
|
|
40
40
|
We aim to provide constructive feedback quickly and appreciate your patience during the review process.
|
|
41
41
|
|
|
@@ -45,12 +45,12 @@ We aim to provide constructive feedback quickly and appreciate your patience dur
|
|
|
45
45
|
|
|
46
46
|
Found a bug or have a feature request?
|
|
47
47
|
|
|
48
|
-
1. **Open a new issue** on GitHub.
|
|
49
|
-
2. Provide a **clear and descriptive title**.
|
|
48
|
+
1. **Open a new issue** on GitHub.
|
|
49
|
+
2. Provide a **clear and descriptive title**.
|
|
50
50
|
3. Include:
|
|
51
|
-
- Steps to reproduce the issue (if applicable)
|
|
52
|
-
- Expected vs. actual behavior
|
|
53
|
-
- Relevant logs, screenshots, or input files
|
|
51
|
+
- Steps to reproduce the issue (if applicable)
|
|
52
|
+
- Expected vs. actual behavior
|
|
53
|
+
- Relevant logs, screenshots, or input files
|
|
54
54
|
|
|
55
55
|
Well-documented issues help us address problems faster and keep CodeEntropy stable and robust.
|
|
56
56
|
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Create a report to help us improve CodeEntropy
|
|
4
|
+
title: '[Bug]: '
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Bug Report
|
|
11
|
+
<!-- A clear and concise description of the issue. -->
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## To Reproduce
|
|
16
|
+
<!-- Provide the YAML configuration and the exact CLI command that reproduces the issue. -->
|
|
17
|
+
|
|
18
|
+
### YAML configuration
|
|
19
|
+
<!-- Paste the YAML file or the smallest excerpt that reproduces the issue.
|
|
20
|
+
Remove unrelated fields to make it minimal. -->
|
|
21
|
+
```yaml
|
|
22
|
+
# Paste the YAML snippet here
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### CLI command used
|
|
26
|
+
<!-- Write the exact command used, for example: -->
|
|
27
|
+
```bash
|
|
28
|
+
# Paste the CLI command here
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Actual output
|
|
32
|
+
<!-- Paste the output, logs, or error messages here -->
|
|
33
|
+
```bash
|
|
34
|
+
# Paste the output, logs, or error messages here
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Expected output
|
|
38
|
+
<!-- Describe what you expected to see instead -->
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Environment and Versions
|
|
43
|
+
|
|
44
|
+
- Operating System:
|
|
45
|
+
- CodeEntropy Version:
|
|
46
|
+
- Python Version:
|
|
47
|
+
- Package list:
|
|
48
|
+
- If using conda, run: `conda list > packages.txt` and paste the contents here.
|
|
49
|
+
|
|
50
|
+
``` bash
|
|
51
|
+
# Paste packages.txt here
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
- If using venv/pip, run: `pip list > packages.txt` and paste the contents here.
|
|
55
|
+
|
|
56
|
+
``` bash
|
|
57
|
+
# Paste packages.txt here
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Screenshots or Logs
|
|
63
|
+
|
|
64
|
+
<!-- Attach any relevant screenshots, logs, or stack traces. -->
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Additional Context
|
|
69
|
+
|
|
70
|
+
<!-- Include anything else that might help reproduce or understand the bug, such as changes from a previously working version. -->
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
2
|
+
issue_templates:
|
|
3
|
+
- name: "Bug Report"
|
|
4
|
+
description: "Report a bug in CodeEntropy."
|
|
5
|
+
title: "[Bug]: "
|
|
6
|
+
labels: ["bug"]
|
|
7
|
+
body: "./ISSUE_TEMPLATE/bug_report.md"
|
|
8
|
+
- name: "Feature Request"
|
|
9
|
+
description: "Propose a new feature or improvement."
|
|
10
|
+
title: "[Feature]: "
|
|
11
|
+
labels: ["enhancement"]
|
|
12
|
+
body: "./ISSUE_TEMPLATE/feature_request.md"
|
|
13
|
+
- name: "Documentation"
|
|
14
|
+
description: "Suggest updates or additions to the documentation."
|
|
15
|
+
title: "[Docs]: "
|
|
16
|
+
labels: ["documentation"]
|
|
17
|
+
body: "./ISSUE_TEMPLATE/documentation.md"
|
|
18
|
+
- name: "General Report"
|
|
19
|
+
description: "Provide general feedback or inquiries."
|
|
20
|
+
title: "[General]: "
|
|
21
|
+
labels: ["general"]
|
|
22
|
+
body: "./ISSUE_TEMPLATE/general_report.md"
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Documentation
|
|
3
|
+
about: Suggest updates or additions to documentation
|
|
4
|
+
title: "[Docs]: "
|
|
5
|
+
labels: documentation
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
### Documentation Update
|
|
10
|
+
<!-- What part of the documentation needs to be updated or added? -->
|
|
11
|
+
|
|
12
|
+
### Why Is This Needed?
|
|
13
|
+
<!-- Explain the importance of this update. -->
|
|
14
|
+
|
|
15
|
+
### Suggested Changes
|
|
16
|
+
<!-- Provide a detailed description of the changes. -->
|
|
17
|
+
|
|
18
|
+
### Additional Context
|
|
19
|
+
<!-- Include any related resources. -->
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest an idea for CodeEntropy
|
|
4
|
+
title: '[Feature]: '
|
|
5
|
+
labels: 'enhancement'
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Feature Request
|
|
10
|
+
|
|
11
|
+
## Problem / Motivation
|
|
12
|
+
<!-- Describe the problem you want to solve or the motivation for this feature. -->
|
|
13
|
+
|
|
14
|
+
## Proposed Solution
|
|
15
|
+
<!-- Describe the feature you would like to see implemented. Include examples if applicable. -->
|
|
16
|
+
|
|
17
|
+
## Alternatives Considered
|
|
18
|
+
- <!-- Alternative 1 -->
|
|
19
|
+
- <!-- Alternative 2 -->
|
|
20
|
+
|
|
21
|
+
## Expected Impact
|
|
22
|
+
<!-- How this feature would affect the codebase or workflow -->
|
|
23
|
+
- <!-- Impact 1 -->
|
|
24
|
+
- <!-- Impact 2 -->
|
|
25
|
+
|
|
26
|
+
## Additional Context
|
|
27
|
+
<!-- Add any other context, screenshots, or references for the feature request here. -->
|
|
28
|
+
- <!-- Further context -->
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: General Report
|
|
3
|
+
about: Provide general feedback or inquiries
|
|
4
|
+
title: "[General]: "
|
|
5
|
+
labels: general
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
### Feedback or Inquiry
|
|
10
|
+
<!-- Provide your feedback or inquiry. -->
|
|
11
|
+
|
|
12
|
+
### Additional Information
|
|
13
|
+
<!-- Add any other relevant details here. -->
|
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
<!-- List all the changes introduced in this PR. -->
|
|
6
6
|
### Change 1 <!-- Rename Change 1 to reflect change title -->:
|
|
7
7
|
- <!-- Bullet point the changes in update 1. -->
|
|
8
|
-
-
|
|
8
|
+
-
|
|
9
9
|
|
|
10
10
|
### Change 2 <!-- Rename Change 2 to reflect change title -->:
|
|
11
11
|
- <!-- Bullet point the changes in update 2. -->
|
|
12
|
-
-
|
|
12
|
+
-
|
|
13
13
|
|
|
14
14
|
### Change 3 <!-- Rename Change 3 to reflect change title -->:
|
|
15
15
|
- <!-- Bullet point the changes in update 3. -->
|
|
16
|
-
-
|
|
16
|
+
-
|
|
17
17
|
|
|
18
18
|
## Impact
|
|
19
19
|
- <!-- Bullet point the expected impact this PR will have on the codebase. -->
|
|
20
|
-
-
|
|
20
|
+
-
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": [
|
|
3
3
|
"config:best-practices",
|
|
4
|
-
":pinAllExceptPeerDependencies",
|
|
5
4
|
":dependencyDashboard",
|
|
6
5
|
"group:monorepos",
|
|
7
6
|
"group:recommended"
|
|
8
7
|
],
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"labels": ["dependencies"],
|
|
12
|
-
"lockFileMaintenance": {
|
|
8
|
+
"enabledManagers": ["pep621"],
|
|
9
|
+
"pep621": {
|
|
13
10
|
"enabled": true
|
|
14
11
|
},
|
|
12
|
+
"rangeStrategy": "replace",
|
|
13
|
+
"schedule": ["* 8 * * 1-5"],
|
|
14
|
+
"labels": ["dependencies"],
|
|
15
15
|
"packageRules": [
|
|
16
16
|
{
|
|
17
17
|
"matchUpdateTypes": ["minor", "patch"],
|
|
18
18
|
"automerge": false
|
|
19
19
|
}
|
|
20
20
|
]
|
|
21
|
-
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: Daily Unit Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 8 * * 1-5'
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
concurrency:
|
|
9
|
+
group: daily-${{ github.ref }}
|
|
10
|
+
cancel-in-progress: true
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
unit:
|
|
14
|
+
name: Unit (${{ matrix.os }}, ${{ matrix.python-version }})
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
timeout-minutes: 30
|
|
17
|
+
strategy:
|
|
18
|
+
fail-fast: false
|
|
19
|
+
matrix:
|
|
20
|
+
os: [ubuntu-24.04, macos-15, windows-2025]
|
|
21
|
+
python-version: ["3.12", "3.13", "3.14"]
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout
|
|
24
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
25
|
+
|
|
26
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
27
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
28
|
+
with:
|
|
29
|
+
python-version: ${{ matrix.python-version }}
|
|
30
|
+
cache: pip
|
|
31
|
+
|
|
32
|
+
- name: Install (testing)
|
|
33
|
+
run: |
|
|
34
|
+
python -m pip install --upgrade pip
|
|
35
|
+
python -m pip install -e .[testing]
|
|
36
|
+
|
|
37
|
+
- name: Pytest (unit) • ${{ matrix.os }} • py${{ matrix.python-version }}
|
|
38
|
+
run: python -m pytest tests/unit -q
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
name: Pull Request CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
|
|
6
|
+
concurrency:
|
|
7
|
+
group: pr-${{ github.ref }}
|
|
8
|
+
cancel-in-progress: true
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
unit:
|
|
12
|
+
name: Unit
|
|
13
|
+
runs-on: ${{ matrix.os }}
|
|
14
|
+
timeout-minutes: 25
|
|
15
|
+
strategy:
|
|
16
|
+
fail-fast: false
|
|
17
|
+
matrix:
|
|
18
|
+
os: [ubuntu-24.04, macos-15, windows-2025]
|
|
19
|
+
python-version: ["3.12", "3.13", "3.14"]
|
|
20
|
+
steps:
|
|
21
|
+
- name: Checkout
|
|
22
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
23
|
+
|
|
24
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
25
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
26
|
+
with:
|
|
27
|
+
python-version: ${{ matrix.python-version }}
|
|
28
|
+
cache: pip
|
|
29
|
+
|
|
30
|
+
- name: Install testing dependencies
|
|
31
|
+
run: |
|
|
32
|
+
python -m pip install --upgrade pip
|
|
33
|
+
python -m pip install -e .[testing]
|
|
34
|
+
|
|
35
|
+
- name: Pytest (unit) • ${{ matrix.os }}, ${{ matrix.python-version }}
|
|
36
|
+
run: python -m pytest tests/unit -q
|
|
37
|
+
|
|
38
|
+
regression-quick:
|
|
39
|
+
name: Regression (quick)
|
|
40
|
+
needs: unit
|
|
41
|
+
runs-on: ubuntu-24.04
|
|
42
|
+
timeout-minutes: 35
|
|
43
|
+
steps:
|
|
44
|
+
- name: Checkout
|
|
45
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
46
|
+
|
|
47
|
+
- name: Set up Python 3.14
|
|
48
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
49
|
+
with:
|
|
50
|
+
python-version: "3.14"
|
|
51
|
+
cache: pip
|
|
52
|
+
|
|
53
|
+
- name: Cache testdata
|
|
54
|
+
uses: actions/cache@v4
|
|
55
|
+
with:
|
|
56
|
+
path: .testdata
|
|
57
|
+
key: codeentropy-testdata-v1-${{ runner.os }}-py3.14
|
|
58
|
+
|
|
59
|
+
- name: Install (testing)
|
|
60
|
+
run: |
|
|
61
|
+
python -m pip install --upgrade pip
|
|
62
|
+
python -m pip install -e .[testing]
|
|
63
|
+
|
|
64
|
+
- name: Pytest (regression quick)
|
|
65
|
+
run: python -m pytest tests/regression -q
|
|
66
|
+
|
|
67
|
+
- name: Upload artifacts (failure)
|
|
68
|
+
if: failure()
|
|
69
|
+
uses: actions/upload-artifact@v4
|
|
70
|
+
with:
|
|
71
|
+
name: quick-regression-failure
|
|
72
|
+
path: |
|
|
73
|
+
.testdata/**
|
|
74
|
+
tests/regression/**/.pytest_cache/**
|
|
75
|
+
/tmp/pytest-of-*/pytest-*/**/config.yaml
|
|
76
|
+
/tmp/pytest-of-*/pytest-*/**/codeentropy_stdout.txt
|
|
77
|
+
/tmp/pytest-of-*/pytest-*/**/codeentropy_stderr.txt
|
|
78
|
+
/tmp/pytest-of-*/pytest-*/**/codeentropy_output.json
|
|
79
|
+
|
|
80
|
+
docs:
|
|
81
|
+
name: Docs
|
|
82
|
+
needs: unit
|
|
83
|
+
runs-on: ubuntu-24.04
|
|
84
|
+
timeout-minutes: 25
|
|
85
|
+
|
|
86
|
+
steps:
|
|
87
|
+
- name: Checkout
|
|
88
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
|
89
|
+
|
|
90
|
+
- name: Set up Python 3.14
|
|
91
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
92
|
+
with:
|
|
93
|
+
python-version: "3.14"
|
|
94
|
+
cache: pip
|
|
95
|
+
|
|
96
|
+
- name: Install
|
|
97
|
+
run: |
|
|
98
|
+
python -m pip install --upgrade pip
|
|
99
|
+
python -m pip install -e .[docs]
|
|
100
|
+
|
|
101
|
+
- name: Build docs
|
|
102
|
+
run: |
|
|
103
|
+
make -C docs clean
|
|
104
|
+
make -C docs html SPHINXOPTS="-W --keep-going"
|
|
105
|
+
|
|
106
|
+
- name: Upload docs artifact
|
|
107
|
+
if: always()
|
|
108
|
+
uses: actions/upload-artifact@v4
|
|
109
|
+
with:
|
|
110
|
+
name: docs-html
|
|
111
|
+
path: docs/_build/html
|
|
112
|
+
|
|
113
|
+
pre-commit:
|
|
114
|
+
name: Pre-commit
|
|
115
|
+
runs-on: ubuntu-24.04
|
|
116
|
+
timeout-minutes: 15
|
|
117
|
+
steps:
|
|
118
|
+
- name: Checkout
|
|
119
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
120
|
+
|
|
121
|
+
- name: Set up Python 3.14
|
|
122
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
123
|
+
with:
|
|
124
|
+
python-version: "3.14"
|
|
125
|
+
cache: pip
|
|
126
|
+
|
|
127
|
+
- name: Install (pre-commit)
|
|
128
|
+
run: |
|
|
129
|
+
python -m pip install --upgrade pip
|
|
130
|
+
python -m pip install -e .[pre-commit]
|
|
131
|
+
|
|
132
|
+
- name: Run pre-commit
|
|
133
|
+
shell: bash
|
|
134
|
+
run: |
|
|
135
|
+
pre-commit install
|
|
136
|
+
pre-commit run --all-files || {
|
|
137
|
+
git status --short
|
|
138
|
+
git diff
|
|
139
|
+
exit 1
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
coverage:
|
|
143
|
+
name: Coverage
|
|
144
|
+
needs: unit
|
|
145
|
+
runs-on: ubuntu-24.04
|
|
146
|
+
timeout-minutes: 30
|
|
147
|
+
steps:
|
|
148
|
+
- name: Checkout repo
|
|
149
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
|
150
|
+
|
|
151
|
+
- name: Set up Python 3.14
|
|
152
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
153
|
+
with:
|
|
154
|
+
python-version: "3.14"
|
|
155
|
+
cache: pip
|
|
156
|
+
|
|
157
|
+
- name: Install (testing)
|
|
158
|
+
run: |
|
|
159
|
+
python -m pip install --upgrade pip
|
|
160
|
+
python -m pip install -e .[testing]
|
|
161
|
+
|
|
162
|
+
- name: Run unit test suite with coverage
|
|
163
|
+
run: |
|
|
164
|
+
pytest tests/unit \
|
|
165
|
+
--cov CodeEntropy \
|
|
166
|
+
--cov-report term-missing \
|
|
167
|
+
--cov-report xml \
|
|
168
|
+
-q
|
|
169
|
+
|
|
170
|
+
- name: Upload to Coveralls
|
|
171
|
+
uses: coverallsapp/github-action@5cbfd81b66ca5d10c19b062c04de0199c215fb6e
|
|
172
|
+
with:
|
|
173
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
174
|
+
file: coverage.xml
|
|
175
|
+
fail-on-error: false
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: Release CodeEntropy
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
workflow_dispatch:
|
|
@@ -18,10 +18,10 @@ jobs:
|
|
|
18
18
|
steps:
|
|
19
19
|
- name: Checkout repository
|
|
20
20
|
id: repo
|
|
21
|
-
uses: actions/checkout@
|
|
21
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
22
22
|
|
|
23
23
|
- name: Set up Python
|
|
24
|
-
uses: actions/setup-python@
|
|
24
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
25
25
|
with:
|
|
26
26
|
python-version: 3.14.0
|
|
27
27
|
|
|
@@ -46,7 +46,7 @@ jobs:
|
|
|
46
46
|
steps:
|
|
47
47
|
|
|
48
48
|
- name: checkout
|
|
49
|
-
uses: actions/checkout@
|
|
49
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
50
50
|
|
|
51
51
|
- name: Change version in repo and CITATION.cff
|
|
52
52
|
run: |
|
|
@@ -61,7 +61,7 @@ jobs:
|
|
|
61
61
|
|
|
62
62
|
- name: send PR
|
|
63
63
|
id: pr_id
|
|
64
|
-
uses: peter-evans/create-pull-request@
|
|
64
|
+
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
|
|
65
65
|
with:
|
|
66
66
|
commit-message: Update version to ${{ github.event.inputs.version }}
|
|
67
67
|
branch: version-update
|
|
@@ -95,7 +95,7 @@ jobs:
|
|
|
95
95
|
runs-on: ubuntu-24.04
|
|
96
96
|
steps:
|
|
97
97
|
- name: Checkout repository
|
|
98
|
-
uses: actions/checkout@
|
|
98
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
99
99
|
with:
|
|
100
100
|
ref: main
|
|
101
101
|
|
|
@@ -113,7 +113,7 @@ jobs:
|
|
|
113
113
|
steps:
|
|
114
114
|
|
|
115
115
|
- name: create release
|
|
116
|
-
uses: softprops/action-gh-release@
|
|
116
|
+
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
|
|
117
117
|
with:
|
|
118
118
|
name: v${{ github.event.inputs.version }}
|
|
119
119
|
generate_release_notes: true
|
|
@@ -126,12 +126,12 @@ jobs:
|
|
|
126
126
|
steps:
|
|
127
127
|
|
|
128
128
|
- name: checkout
|
|
129
|
-
uses: actions/checkout@
|
|
129
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
130
130
|
with:
|
|
131
131
|
ref: main
|
|
132
132
|
|
|
133
133
|
- name: Set up Python
|
|
134
|
-
uses: actions/setup-python@
|
|
134
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
135
135
|
with:
|
|
136
136
|
python-version: 3.14.0
|
|
137
137
|
|
|
@@ -146,4 +146,46 @@ jobs:
|
|
|
146
146
|
env:
|
|
147
147
|
FLIT_USERNAME: __token__
|
|
148
148
|
FLIT_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
149
|
-
|
|
149
|
+
|
|
150
|
+
conda:
|
|
151
|
+
name: publish conda to anaconda.org
|
|
152
|
+
needs: [tag, release]
|
|
153
|
+
runs-on: ubuntu-24.04
|
|
154
|
+
|
|
155
|
+
steps:
|
|
156
|
+
- name: Checkout
|
|
157
|
+
uses: actions/checkout@v4
|
|
158
|
+
with:
|
|
159
|
+
ref: main
|
|
160
|
+
|
|
161
|
+
- name: Set version in conda recipe
|
|
162
|
+
run: |
|
|
163
|
+
sed -i -E "s/^{% set version = \".*\" %}$/{% set version = \"${{ github.event.inputs.version }}\" %}/" conda-recipe/meta.yaml
|
|
164
|
+
|
|
165
|
+
- name: Setup Conda
|
|
166
|
+
uses: conda-incubator/setup-miniconda@v3
|
|
167
|
+
with:
|
|
168
|
+
miniforge-variant: Miniforge3
|
|
169
|
+
python-version: "3.12"
|
|
170
|
+
auto-activate-base: false
|
|
171
|
+
|
|
172
|
+
- name: Install build tools
|
|
173
|
+
shell: bash -l {0}
|
|
174
|
+
run: |
|
|
175
|
+
conda install -y conda-build anaconda-client
|
|
176
|
+
conda config --add channels conda-forge
|
|
177
|
+
conda config --set channel_priority strict
|
|
178
|
+
conda config --set anaconda_upload no
|
|
179
|
+
|
|
180
|
+
- name: Build package
|
|
181
|
+
shell: bash -l {0}
|
|
182
|
+
run: |
|
|
183
|
+
conda build conda-recipe
|
|
184
|
+
|
|
185
|
+
- name: Upload to Anaconda
|
|
186
|
+
shell: bash -l {0}
|
|
187
|
+
env:
|
|
188
|
+
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
|
|
189
|
+
run: |
|
|
190
|
+
PKG_PATH=$(conda build conda-recipe --output)
|
|
191
|
+
anaconda -t "$ANACONDA_API_TOKEN" upload "$PKG_PATH" --user CCPBioSim --force
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: Update copyright year(s) in license file
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 3 1 1 *' # 03:00 AM on January 1
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
update-license-year:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v6
|
|
13
|
+
with:
|
|
14
|
+
fetch-depth: 0
|
|
15
|
+
- uses: FantasticFiasco/action-update-license-year@v3
|
|
16
|
+
with:
|
|
17
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: Weekly Docs Build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 8 * * 1'
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
concurrency:
|
|
9
|
+
group: weekly-docs-${{ github.ref }}
|
|
10
|
+
cancel-in-progress: true
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
docs:
|
|
14
|
+
name: Docs build (${{ matrix.os }}, python ${{ matrix.python-version }})
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
strategy:
|
|
17
|
+
fail-fast: false
|
|
18
|
+
matrix:
|
|
19
|
+
os: [ubuntu-24.04, windows-2025, macos-15]
|
|
20
|
+
python-version: ["3.12", "3.13", "3.14"]
|
|
21
|
+
timeout-minutes: 30
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- name: Checkout repo
|
|
25
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
26
|
+
|
|
27
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
28
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
29
|
+
with:
|
|
30
|
+
python-version: ${{ matrix.python-version }}
|
|
31
|
+
cache: pip
|
|
32
|
+
|
|
33
|
+
- name: Install python dependencies
|
|
34
|
+
run: |
|
|
35
|
+
python -m pip install --upgrade pip
|
|
36
|
+
python -m pip install -e .[docs]
|
|
37
|
+
|
|
38
|
+
- name: Build docs (warnings as errors)
|
|
39
|
+
run: |
|
|
40
|
+
make -C docs clean
|
|
41
|
+
make -C docs html SPHINXOPTS="-W --keep-going"
|
|
42
|
+
|
|
43
|
+
- name: Upload docs artifacts on failure
|
|
44
|
+
if: failure()
|
|
45
|
+
uses: actions/upload-artifact@v4
|
|
46
|
+
with:
|
|
47
|
+
name: docs-${{ matrix.os }}-py${{ matrix.python-version }}-failure
|
|
48
|
+
path: |
|
|
49
|
+
docs/_build/**
|