py-modelrunner 0.20.0__tar.gz → 0.20.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/PKG-INFO +19 -7
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/README.md +18 -6
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/_version.py +3 -3
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/job.py +4 -4
- py_modelrunner-0.20.2/modelrunner/run/templates/sbatch.jinja +41 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/templates/srun.jinja +5 -1
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/base.py +4 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/trajectory.py +3 -1
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/py_modelrunner.egg-info/PKG-INFO +19 -7
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/py_modelrunner.egg-info/SOURCES.txt +3 -0
- py_modelrunner-0.20.2/py_modelrunner.egg-info/scm_file_list.json +212 -0
- py_modelrunner-0.20.2/py_modelrunner.egg-info/scm_version.json +8 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/.github/workflows/build.yml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/.github/workflows/check_docs.yml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/.github/workflows/coverage_report.yml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/.github/workflows/release_pip.yml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/.gitignore +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/.readthedocs.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/LICENSE +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/Makefile +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/build_all.sh +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/requirements.txt +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/source/.gitignore +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/source/conf.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/source/examples.rst +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/source/index.rst +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/source/installation.rst +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/source/parse_examples.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/source/run_autodoc.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/source/sphinx_simplify_typehints.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/docs/source/user_manual.rst +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/io_hdf.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/io_json.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/io_yaml.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/model_class.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/model_decorator.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/model_function.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/model_storage_output.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/read_many.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/script_custom_func.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/script_function.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/script_many_classes.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/script_minimal.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/script_model_class.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/submit_function.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/submit_many_func.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/submit_many_iter.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/examples/submit_shebang.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/.gitignore +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/__init__.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/__main__.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/config.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/model/__init__.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/model/base.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/model/factory.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/model/parameters.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/py.typed +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/__init__.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/__main__.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/compatibility/__init__.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/compatibility/triage.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/compatibility/version0.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/compatibility/version1.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/compatibility/version2.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/launch.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/results.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/templates/background.jinja +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/templates/foreground.jinja +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/run/templates/qsub.jinja +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/__init__.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/access_modes.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/attributes.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/backend/__init__.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/backend/_zarr2.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/backend/_zarr3.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/backend/hdf.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/backend/json.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/backend/memory.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/backend/text_base.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/backend/utils.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/backend/yaml.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/backend/zarr.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/group.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/tools.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/storage/utils.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/modelrunner/utils.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/py_modelrunner.egg-info/dependency_links.txt +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/py_modelrunner.egg-info/not-zip-safe +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/py_modelrunner.egg-info/requires.txt +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/py_modelrunner.egg-info/top_level.txt +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/pyproject.toml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/requirements.txt +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/requirements_full.txt +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/create_compatibility_files.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/format_code.sh +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/performance_hdf5_zarr.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/requirements.txt +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/run_tests.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/tests_all.sh +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/tests_codestyle.sh +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/tests_coverage.sh +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/tests_debug.sh +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/tests_parallel.sh +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/tests_run.sh +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/scripts/tests_types.sh +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/setup.cfg +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/0/result.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/0/result.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/0/result.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/0/result.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/_dict.zarr +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/_object.zarr +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/array.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/array.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/array.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/array.zarr +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/array_col.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/array_col.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/array_col.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/array_col.zarr +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/dict.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/dict.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/dict.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/object.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/object.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/1/object.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/array.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/array.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/array.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/array.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/array.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/array_col.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/array_col.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/array_col.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/array_col.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/array_col.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/dict.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/dict.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/dict.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/dict.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/dict.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/nested.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/nested.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/nested.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/nested.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/2/nested.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/array.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/array.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/array.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/array.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/array.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/array_col.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/array_col.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/array_col.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/array_col.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/array_col.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/dict.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/dict.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/dict.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/dict.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/dict.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_array.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_array.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_array.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_array.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_array.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_array_col.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_array_col.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_array_col.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_array_col.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_array_col.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_dict.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_dict.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_dict.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_dict.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_dict.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_nested.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_nested.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_nested.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_nested.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/model_nested.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/nested.hdf +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/nested.json +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/nested.pkl +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/nested.yaml +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/3/nested.zip +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/compatibility/test_compatibility.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/conftest.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/helpers/__init__.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/helpers/asserts.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/helpers/storage.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/model/scripts/empty.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/model/scripts/function.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/model/scripts/function_main.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/model/scripts/function_marked.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/model/scripts/make_model.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/model/scripts/make_model_class.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/model/scripts/make_model_marked.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/model/test_model.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/model/test_parameters.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/requirements.txt +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/run/scripts/custom.jinja +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/run/scripts/fail.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/run/scripts/function.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/run/scripts/print.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/run/scripts/script.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/run/test_job.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/run/test_results.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/run/test_run_main.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/storage/test_group.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/storage/test_register_action.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/storage/test_storage_generic.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/storage/test_storage_special.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/storage/test_trajectory.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/storage/test_utils.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/test_config.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/test_examples.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/test_main.py +0 -0
- {py_modelrunner-0.20.0 → py_modelrunner-0.20.2}/tests/test_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: py-modelrunner
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.2
|
|
4
4
|
Summary: Python classes for organizing (HPC) simulations
|
|
5
5
|
Author-email: David Zwicker <david.zwicker@ds.mpg.de>
|
|
6
6
|
License: MIT
|
|
@@ -78,9 +78,9 @@ function with several arguments, like so
|
|
|
78
78
|
|
|
79
79
|
```python
|
|
80
80
|
def main(a: float = 1, b: int = 2, negate: bool = False):
|
|
81
|
-
res = a
|
|
81
|
+
res = a**b
|
|
82
82
|
if negate:
|
|
83
|
-
|
|
83
|
+
res *= -1
|
|
84
84
|
return res
|
|
85
85
|
```
|
|
86
86
|
|
|
@@ -133,8 +133,8 @@ parameters:
|
|
|
133
133
|
```python
|
|
134
134
|
from modelrunner import ModelBase
|
|
135
135
|
|
|
136
|
-
class MyModel(ModelBase): # define custom model
|
|
137
136
|
|
|
137
|
+
class MyModel(ModelBase): # define custom model
|
|
138
138
|
# defines supported parameters with default values
|
|
139
139
|
parameters_default = {"a": 1, "b": 2}
|
|
140
140
|
|
|
@@ -143,7 +143,7 @@ class MyModel(ModelBase): # define custom model
|
|
|
143
143
|
return self.parameters["a"] * self.parameters["b"]
|
|
144
144
|
|
|
145
145
|
|
|
146
|
-
model = MyModel({"a"
|
|
146
|
+
model = MyModel({"a": 3})
|
|
147
147
|
```
|
|
148
148
|
|
|
149
149
|
The last line actually creates an instance of the model with custom parameters.
|
|
@@ -153,10 +153,12 @@ Alternatively, a model can also be defined from a simple function:
|
|
|
153
153
|
```python
|
|
154
154
|
from modelrunner import make_model
|
|
155
155
|
|
|
156
|
+
|
|
156
157
|
@make_model
|
|
157
158
|
def multiply(a=1, b=2):
|
|
158
159
|
return a * b
|
|
159
160
|
|
|
161
|
+
|
|
160
162
|
model = multiply(a=3)
|
|
161
163
|
```
|
|
162
164
|
|
|
@@ -219,10 +221,12 @@ A simple full script displaying this reads
|
|
|
219
221
|
```python
|
|
220
222
|
from modelrunner import make_model, submit_job
|
|
221
223
|
|
|
224
|
+
|
|
222
225
|
@make_model
|
|
223
226
|
def multiply(a=1, b=2):
|
|
224
227
|
return a * b
|
|
225
228
|
|
|
229
|
+
|
|
226
230
|
if __name__ == "__main__":
|
|
227
231
|
submit_job(__file__, parameters={"a": 2}, output="data.hdf5", method="foreground")
|
|
228
232
|
```
|
|
@@ -235,13 +239,17 @@ parameters to conduct a parameter study:
|
|
|
235
239
|
```python
|
|
236
240
|
from modelrunner import make_model, submit_job
|
|
237
241
|
|
|
242
|
+
|
|
238
243
|
@make_model
|
|
239
244
|
def multiply(a=1, b=2):
|
|
240
245
|
return a * b
|
|
241
246
|
|
|
247
|
+
|
|
242
248
|
if __name__ == "__main__":
|
|
243
249
|
for a in range(5):
|
|
244
|
-
submit_job(
|
|
250
|
+
submit_job(
|
|
251
|
+
__file__, parameters={"a": a}, output=f"data_{a}.hdf5", method="foreground"
|
|
252
|
+
)
|
|
245
253
|
```
|
|
246
254
|
|
|
247
255
|
Note that the safe-guard `if __name__ == "__main__"` is absolutely crucial to ensure that
|
|
@@ -254,12 +262,16 @@ We also support submitting multiple jobs of a parameter study:
|
|
|
254
262
|
```python
|
|
255
263
|
from modelrunner import make_model, submit_jobs
|
|
256
264
|
|
|
265
|
+
|
|
257
266
|
@make_model
|
|
258
267
|
def multiply(a=1, b=2):
|
|
259
268
|
return a * b
|
|
260
269
|
|
|
270
|
+
|
|
261
271
|
if __name__ == "__main__":
|
|
262
|
-
submit_jobs(
|
|
272
|
+
submit_jobs(
|
|
273
|
+
__file__, parameters={"a": range(5)}, output_folder="data", method="foreground"
|
|
274
|
+
)
|
|
263
275
|
```
|
|
264
276
|
|
|
265
277
|
Finally, the packages also offers a method to submit a model script to the cluster using
|
|
@@ -36,9 +36,9 @@ function with several arguments, like so
|
|
|
36
36
|
|
|
37
37
|
```python
|
|
38
38
|
def main(a: float = 1, b: int = 2, negate: bool = False):
|
|
39
|
-
res = a
|
|
39
|
+
res = a**b
|
|
40
40
|
if negate:
|
|
41
|
-
|
|
41
|
+
res *= -1
|
|
42
42
|
return res
|
|
43
43
|
```
|
|
44
44
|
|
|
@@ -91,8 +91,8 @@ parameters:
|
|
|
91
91
|
```python
|
|
92
92
|
from modelrunner import ModelBase
|
|
93
93
|
|
|
94
|
-
class MyModel(ModelBase): # define custom model
|
|
95
94
|
|
|
95
|
+
class MyModel(ModelBase): # define custom model
|
|
96
96
|
# defines supported parameters with default values
|
|
97
97
|
parameters_default = {"a": 1, "b": 2}
|
|
98
98
|
|
|
@@ -101,7 +101,7 @@ class MyModel(ModelBase): # define custom model
|
|
|
101
101
|
return self.parameters["a"] * self.parameters["b"]
|
|
102
102
|
|
|
103
103
|
|
|
104
|
-
model = MyModel({"a"
|
|
104
|
+
model = MyModel({"a": 3})
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
The last line actually creates an instance of the model with custom parameters.
|
|
@@ -111,10 +111,12 @@ Alternatively, a model can also be defined from a simple function:
|
|
|
111
111
|
```python
|
|
112
112
|
from modelrunner import make_model
|
|
113
113
|
|
|
114
|
+
|
|
114
115
|
@make_model
|
|
115
116
|
def multiply(a=1, b=2):
|
|
116
117
|
return a * b
|
|
117
118
|
|
|
119
|
+
|
|
118
120
|
model = multiply(a=3)
|
|
119
121
|
```
|
|
120
122
|
|
|
@@ -177,10 +179,12 @@ A simple full script displaying this reads
|
|
|
177
179
|
```python
|
|
178
180
|
from modelrunner import make_model, submit_job
|
|
179
181
|
|
|
182
|
+
|
|
180
183
|
@make_model
|
|
181
184
|
def multiply(a=1, b=2):
|
|
182
185
|
return a * b
|
|
183
186
|
|
|
187
|
+
|
|
184
188
|
if __name__ == "__main__":
|
|
185
189
|
submit_job(__file__, parameters={"a": 2}, output="data.hdf5", method="foreground")
|
|
186
190
|
```
|
|
@@ -193,13 +197,17 @@ parameters to conduct a parameter study:
|
|
|
193
197
|
```python
|
|
194
198
|
from modelrunner import make_model, submit_job
|
|
195
199
|
|
|
200
|
+
|
|
196
201
|
@make_model
|
|
197
202
|
def multiply(a=1, b=2):
|
|
198
203
|
return a * b
|
|
199
204
|
|
|
205
|
+
|
|
200
206
|
if __name__ == "__main__":
|
|
201
207
|
for a in range(5):
|
|
202
|
-
submit_job(
|
|
208
|
+
submit_job(
|
|
209
|
+
__file__, parameters={"a": a}, output=f"data_{a}.hdf5", method="foreground"
|
|
210
|
+
)
|
|
203
211
|
```
|
|
204
212
|
|
|
205
213
|
Note that the safe-guard `if __name__ == "__main__"` is absolutely crucial to ensure that
|
|
@@ -212,12 +220,16 @@ We also support submitting multiple jobs of a parameter study:
|
|
|
212
220
|
```python
|
|
213
221
|
from modelrunner import make_model, submit_jobs
|
|
214
222
|
|
|
223
|
+
|
|
215
224
|
@make_model
|
|
216
225
|
def multiply(a=1, b=2):
|
|
217
226
|
return a * b
|
|
218
227
|
|
|
228
|
+
|
|
219
229
|
if __name__ == "__main__":
|
|
220
|
-
submit_jobs(
|
|
230
|
+
submit_jobs(
|
|
231
|
+
__file__, parameters={"a": range(5)}, output_folder="data", method="foreground"
|
|
232
|
+
)
|
|
221
233
|
```
|
|
222
234
|
|
|
223
235
|
Finally, the packages also offers a method to submit a model script to the cluster using
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.20.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 20,
|
|
21
|
+
__version__ = version = '0.20.2'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 20, 2)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g9f5fb441d'
|
|
@@ -54,7 +54,7 @@ DEFAULT_CONFIG = [
|
|
|
54
54
|
"qsub",
|
|
55
55
|
str,
|
|
56
56
|
"The job submission method.",
|
|
57
|
-
choices=["background", "foreground", "qsub", "srun"],
|
|
57
|
+
choices=["background", "foreground", "qsub", "sbatch", "srun"],
|
|
58
58
|
),
|
|
59
59
|
Parameter(
|
|
60
60
|
"partition", "", str, "The partition to which the job will be submitted."
|
|
@@ -159,8 +159,8 @@ def submit_job(
|
|
|
159
159
|
working directory for remote jobs.
|
|
160
160
|
method (str):
|
|
161
161
|
Specifies the submission method. Currently `background`, `foreground`,
|
|
162
|
-
'
|
|
163
|
-
from the `config` argument.
|
|
162
|
+
'sbatch', and `qsub` are supported. The special value `auto` reads the
|
|
163
|
+
method from the `config` argument.
|
|
164
164
|
use_modelrunner (bool):
|
|
165
165
|
If True, `script` is envoked with the modelrunner library, e.g. by calling
|
|
166
166
|
`python -m modelrunner {script}`.
|
|
@@ -267,7 +267,7 @@ def submit_job(
|
|
|
267
267
|
script_content = Template(script_template).render(script_args)
|
|
268
268
|
logger.debug("Script: `%s`", script_content)
|
|
269
269
|
|
|
270
|
-
if method in {"qsub", "srun"}:
|
|
270
|
+
if method in {"qsub", "srun", "sbatch"}:
|
|
271
271
|
# submit job to queue
|
|
272
272
|
proc = sp.Popen(
|
|
273
273
|
[method],
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/bin/bash -l
|
|
2
|
+
|
|
3
|
+
{% if LOG_FOLDER is defined %}
|
|
4
|
+
# Standard output and error
|
|
5
|
+
#SBATCH --output={{ LOG_FOLDER }}/{{ JOB_NAME }}.out.txt
|
|
6
|
+
#SBATCH --error={{ LOG_FOLDER }}/{{ JOB_NAME }}.err.txt
|
|
7
|
+
{% endif %}
|
|
8
|
+
# Preserve environment variables:
|
|
9
|
+
#SBATCH --export=ALL
|
|
10
|
+
#SBATCH --job-name={{ JOB_NAME }}
|
|
11
|
+
# Queue (Partition):
|
|
12
|
+
{% if CONFIG['partition'] is defined %}
|
|
13
|
+
#SBATCH --partition {{ CONFIG['partition'] }}
|
|
14
|
+
{% endif %}
|
|
15
|
+
# Set max. runtime
|
|
16
|
+
{% if CONFIG['time'] is defined %}
|
|
17
|
+
#SBATCH --time={{ TIME }}
|
|
18
|
+
{% endif %}
|
|
19
|
+
|
|
20
|
+
hostname
|
|
21
|
+
echo $JOB_ID
|
|
22
|
+
|
|
23
|
+
{% if CONFIG.num_threads is number %}
|
|
24
|
+
# set the number of threads to use
|
|
25
|
+
export MKL_NUM_THREADS={{ CONFIG.num_threads }}
|
|
26
|
+
export NUMBA_NUM_THREADS={{ CONFIG.num_threads }}
|
|
27
|
+
export NUMEXPR_NUM_THREADS={{ CONFIG.num_threads }}
|
|
28
|
+
export OMP_NUM_THREADS={{ CONFIG.num_threads }}
|
|
29
|
+
export OPENBLAS_NUM_THREADS={{ CONFIG.num_threads }}
|
|
30
|
+
{% endif %}
|
|
31
|
+
|
|
32
|
+
{% if OUTPUT_FOLDER is defined and OUTPUT_FOLDER %}
|
|
33
|
+
mkdir -p {{ OUTPUT_FOLDER }}
|
|
34
|
+
{% endif %}
|
|
35
|
+
|
|
36
|
+
# Run the program
|
|
37
|
+
{% if USE_MODELRUNNER is defined and USE_MODELRUNNER %}
|
|
38
|
+
{{ CONFIG.python_bin }} -m modelrunner {{ MODEL_FILE }} {{ JOB_ARGS }}
|
|
39
|
+
{% else %}
|
|
40
|
+
{{ CONFIG.python_bin }} {{ MODEL_FILE }} {{ JOB_ARGS }}
|
|
41
|
+
{% endif %}
|
|
@@ -10,7 +10,11 @@
|
|
|
10
10
|
#SBATCH --job-name={{ JOB_NAME }}
|
|
11
11
|
# Queue (Partition):
|
|
12
12
|
{% if CONFIG['partition'] is defined %}
|
|
13
|
-
#SBATCH
|
|
13
|
+
#SBATCH --partition {{ CONFIG['partition'] }}
|
|
14
|
+
{% endif %}
|
|
15
|
+
# Set max. runtime
|
|
16
|
+
{% if CONFIG['time'] is defined %}
|
|
17
|
+
#SBATCH --time={{ TIME }}
|
|
14
18
|
{% endif %}
|
|
15
19
|
|
|
16
20
|
hostname
|
|
@@ -38,6 +38,10 @@ from .utils import encode_class
|
|
|
38
38
|
if TYPE_CHECKING:
|
|
39
39
|
from .group import StorageGroup
|
|
40
40
|
|
|
41
|
+
|
|
42
|
+
# we allow unpickling since we otherwise cannot store arbitrary Python objects
|
|
43
|
+
numcodecs.pickles.ALLOW_UNSAFE_PICKLE_DECODE = True
|
|
44
|
+
|
|
41
45
|
_base_logger = logging.getLogger(__name__.rsplit(".", 1)[0])
|
|
42
46
|
""":class:`logging.Logger`: Base logger for fields."""
|
|
43
47
|
|
|
@@ -124,7 +124,9 @@ class TrajectoryWriter:
|
|
|
124
124
|
shape: tuple[int, ...] = data.shape
|
|
125
125
|
self._item_type = "array"
|
|
126
126
|
else:
|
|
127
|
-
raise NotImplementedError(
|
|
127
|
+
raise NotImplementedError(
|
|
128
|
+
f"Trajectories must be arrays for zarr3, not {data.__class__}"
|
|
129
|
+
)
|
|
128
130
|
self._trajectory.create_dynamic_array("data", shape=shape, dtype=dtype)
|
|
129
131
|
self._trajectory.create_dynamic_array("time", shape=(), dtype=float)
|
|
130
132
|
self._trajectory.write_attrs(None, {"item_type": self._item_type})
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: py-modelrunner
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.2
|
|
4
4
|
Summary: Python classes for organizing (HPC) simulations
|
|
5
5
|
Author-email: David Zwicker <david.zwicker@ds.mpg.de>
|
|
6
6
|
License: MIT
|
|
@@ -78,9 +78,9 @@ function with several arguments, like so
|
|
|
78
78
|
|
|
79
79
|
```python
|
|
80
80
|
def main(a: float = 1, b: int = 2, negate: bool = False):
|
|
81
|
-
res = a
|
|
81
|
+
res = a**b
|
|
82
82
|
if negate:
|
|
83
|
-
|
|
83
|
+
res *= -1
|
|
84
84
|
return res
|
|
85
85
|
```
|
|
86
86
|
|
|
@@ -133,8 +133,8 @@ parameters:
|
|
|
133
133
|
```python
|
|
134
134
|
from modelrunner import ModelBase
|
|
135
135
|
|
|
136
|
-
class MyModel(ModelBase): # define custom model
|
|
137
136
|
|
|
137
|
+
class MyModel(ModelBase): # define custom model
|
|
138
138
|
# defines supported parameters with default values
|
|
139
139
|
parameters_default = {"a": 1, "b": 2}
|
|
140
140
|
|
|
@@ -143,7 +143,7 @@ class MyModel(ModelBase): # define custom model
|
|
|
143
143
|
return self.parameters["a"] * self.parameters["b"]
|
|
144
144
|
|
|
145
145
|
|
|
146
|
-
model = MyModel({"a"
|
|
146
|
+
model = MyModel({"a": 3})
|
|
147
147
|
```
|
|
148
148
|
|
|
149
149
|
The last line actually creates an instance of the model with custom parameters.
|
|
@@ -153,10 +153,12 @@ Alternatively, a model can also be defined from a simple function:
|
|
|
153
153
|
```python
|
|
154
154
|
from modelrunner import make_model
|
|
155
155
|
|
|
156
|
+
|
|
156
157
|
@make_model
|
|
157
158
|
def multiply(a=1, b=2):
|
|
158
159
|
return a * b
|
|
159
160
|
|
|
161
|
+
|
|
160
162
|
model = multiply(a=3)
|
|
161
163
|
```
|
|
162
164
|
|
|
@@ -219,10 +221,12 @@ A simple full script displaying this reads
|
|
|
219
221
|
```python
|
|
220
222
|
from modelrunner import make_model, submit_job
|
|
221
223
|
|
|
224
|
+
|
|
222
225
|
@make_model
|
|
223
226
|
def multiply(a=1, b=2):
|
|
224
227
|
return a * b
|
|
225
228
|
|
|
229
|
+
|
|
226
230
|
if __name__ == "__main__":
|
|
227
231
|
submit_job(__file__, parameters={"a": 2}, output="data.hdf5", method="foreground")
|
|
228
232
|
```
|
|
@@ -235,13 +239,17 @@ parameters to conduct a parameter study:
|
|
|
235
239
|
```python
|
|
236
240
|
from modelrunner import make_model, submit_job
|
|
237
241
|
|
|
242
|
+
|
|
238
243
|
@make_model
|
|
239
244
|
def multiply(a=1, b=2):
|
|
240
245
|
return a * b
|
|
241
246
|
|
|
247
|
+
|
|
242
248
|
if __name__ == "__main__":
|
|
243
249
|
for a in range(5):
|
|
244
|
-
submit_job(
|
|
250
|
+
submit_job(
|
|
251
|
+
__file__, parameters={"a": a}, output=f"data_{a}.hdf5", method="foreground"
|
|
252
|
+
)
|
|
245
253
|
```
|
|
246
254
|
|
|
247
255
|
Note that the safe-guard `if __name__ == "__main__"` is absolutely crucial to ensure that
|
|
@@ -254,12 +262,16 @@ We also support submitting multiple jobs of a parameter study:
|
|
|
254
262
|
```python
|
|
255
263
|
from modelrunner import make_model, submit_jobs
|
|
256
264
|
|
|
265
|
+
|
|
257
266
|
@make_model
|
|
258
267
|
def multiply(a=1, b=2):
|
|
259
268
|
return a * b
|
|
260
269
|
|
|
270
|
+
|
|
261
271
|
if __name__ == "__main__":
|
|
262
|
-
submit_jobs(
|
|
272
|
+
submit_jobs(
|
|
273
|
+
__file__, parameters={"a": range(5)}, output_folder="data", method="foreground"
|
|
274
|
+
)
|
|
263
275
|
```
|
|
264
276
|
|
|
265
277
|
Finally, the packages also offers a method to submit a model script to the cluster using
|
|
@@ -62,6 +62,7 @@ modelrunner/run/compatibility/version2.py
|
|
|
62
62
|
modelrunner/run/templates/background.jinja
|
|
63
63
|
modelrunner/run/templates/foreground.jinja
|
|
64
64
|
modelrunner/run/templates/qsub.jinja
|
|
65
|
+
modelrunner/run/templates/sbatch.jinja
|
|
65
66
|
modelrunner/run/templates/srun.jinja
|
|
66
67
|
modelrunner/storage/__init__.py
|
|
67
68
|
modelrunner/storage/access_modes.py
|
|
@@ -86,6 +87,8 @@ py_modelrunner.egg-info/SOURCES.txt
|
|
|
86
87
|
py_modelrunner.egg-info/dependency_links.txt
|
|
87
88
|
py_modelrunner.egg-info/not-zip-safe
|
|
88
89
|
py_modelrunner.egg-info/requires.txt
|
|
90
|
+
py_modelrunner.egg-info/scm_file_list.json
|
|
91
|
+
py_modelrunner.egg-info/scm_version.json
|
|
89
92
|
py_modelrunner.egg-info/top_level.txt
|
|
90
93
|
scripts/create_compatibility_files.py
|
|
91
94
|
scripts/format_code.sh
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": [
|
|
3
|
+
".github/workflows/build.yml",
|
|
4
|
+
".github/workflows/check_docs.yml",
|
|
5
|
+
".github/workflows/coverage_report.yml",
|
|
6
|
+
".github/workflows/release_pip.yml",
|
|
7
|
+
".gitignore",
|
|
8
|
+
".readthedocs.yaml",
|
|
9
|
+
"LICENSE",
|
|
10
|
+
"README.md",
|
|
11
|
+
"docs/Makefile",
|
|
12
|
+
"docs/build_all.sh",
|
|
13
|
+
"docs/requirements.txt",
|
|
14
|
+
"docs/source/.gitignore",
|
|
15
|
+
"docs/source/conf.py",
|
|
16
|
+
"docs/source/examples.rst",
|
|
17
|
+
"docs/source/index.rst",
|
|
18
|
+
"docs/source/installation.rst",
|
|
19
|
+
"docs/source/parse_examples.py",
|
|
20
|
+
"docs/source/run_autodoc.py",
|
|
21
|
+
"docs/source/sphinx_simplify_typehints.py",
|
|
22
|
+
"docs/source/user_manual.rst",
|
|
23
|
+
"examples/io_hdf.py",
|
|
24
|
+
"examples/io_json.py",
|
|
25
|
+
"examples/io_yaml.py",
|
|
26
|
+
"examples/model_class.py",
|
|
27
|
+
"examples/model_decorator.py",
|
|
28
|
+
"examples/model_function.py",
|
|
29
|
+
"examples/model_storage_output.py",
|
|
30
|
+
"examples/read_many.py",
|
|
31
|
+
"examples/script_custom_func.py",
|
|
32
|
+
"examples/script_function.py",
|
|
33
|
+
"examples/script_many_classes.py",
|
|
34
|
+
"examples/script_minimal.py",
|
|
35
|
+
"examples/script_model_class.py",
|
|
36
|
+
"examples/submit_function.py",
|
|
37
|
+
"examples/submit_many_func.py",
|
|
38
|
+
"examples/submit_many_iter.py",
|
|
39
|
+
"examples/submit_shebang.py",
|
|
40
|
+
"modelrunner/.gitignore",
|
|
41
|
+
"modelrunner/__init__.py",
|
|
42
|
+
"modelrunner/__main__.py",
|
|
43
|
+
"modelrunner/config.py",
|
|
44
|
+
"modelrunner/model/__init__.py",
|
|
45
|
+
"modelrunner/model/base.py",
|
|
46
|
+
"modelrunner/model/factory.py",
|
|
47
|
+
"modelrunner/model/parameters.py",
|
|
48
|
+
"modelrunner/py.typed",
|
|
49
|
+
"modelrunner/run/__init__.py",
|
|
50
|
+
"modelrunner/run/__main__.py",
|
|
51
|
+
"modelrunner/run/compatibility/__init__.py",
|
|
52
|
+
"modelrunner/run/compatibility/triage.py",
|
|
53
|
+
"modelrunner/run/compatibility/version0.py",
|
|
54
|
+
"modelrunner/run/compatibility/version1.py",
|
|
55
|
+
"modelrunner/run/compatibility/version2.py",
|
|
56
|
+
"modelrunner/run/job.py",
|
|
57
|
+
"modelrunner/run/launch.py",
|
|
58
|
+
"modelrunner/run/results.py",
|
|
59
|
+
"modelrunner/run/templates/background.jinja",
|
|
60
|
+
"modelrunner/run/templates/foreground.jinja",
|
|
61
|
+
"modelrunner/run/templates/qsub.jinja",
|
|
62
|
+
"modelrunner/run/templates/sbatch.jinja",
|
|
63
|
+
"modelrunner/run/templates/srun.jinja",
|
|
64
|
+
"modelrunner/storage/__init__.py",
|
|
65
|
+
"modelrunner/storage/access_modes.py",
|
|
66
|
+
"modelrunner/storage/attributes.py",
|
|
67
|
+
"modelrunner/storage/backend/__init__.py",
|
|
68
|
+
"modelrunner/storage/backend/_zarr2.py",
|
|
69
|
+
"modelrunner/storage/backend/_zarr3.py",
|
|
70
|
+
"modelrunner/storage/backend/hdf.py",
|
|
71
|
+
"modelrunner/storage/backend/json.py",
|
|
72
|
+
"modelrunner/storage/backend/memory.py",
|
|
73
|
+
"modelrunner/storage/backend/text_base.py",
|
|
74
|
+
"modelrunner/storage/backend/utils.py",
|
|
75
|
+
"modelrunner/storage/backend/yaml.py",
|
|
76
|
+
"modelrunner/storage/backend/zarr.py",
|
|
77
|
+
"modelrunner/storage/base.py",
|
|
78
|
+
"modelrunner/storage/group.py",
|
|
79
|
+
"modelrunner/storage/tools.py",
|
|
80
|
+
"modelrunner/storage/trajectory.py",
|
|
81
|
+
"modelrunner/storage/utils.py",
|
|
82
|
+
"modelrunner/utils.py",
|
|
83
|
+
"pyproject.toml",
|
|
84
|
+
"requirements.txt",
|
|
85
|
+
"requirements_full.txt",
|
|
86
|
+
"scripts/create_compatibility_files.py",
|
|
87
|
+
"scripts/format_code.sh",
|
|
88
|
+
"scripts/performance_hdf5_zarr.py",
|
|
89
|
+
"scripts/requirements.txt",
|
|
90
|
+
"scripts/run_tests.py",
|
|
91
|
+
"scripts/tests_all.sh",
|
|
92
|
+
"scripts/tests_codestyle.sh",
|
|
93
|
+
"scripts/tests_coverage.sh",
|
|
94
|
+
"scripts/tests_debug.sh",
|
|
95
|
+
"scripts/tests_parallel.sh",
|
|
96
|
+
"scripts/tests_run.sh",
|
|
97
|
+
"scripts/tests_types.sh",
|
|
98
|
+
"tests/compatibility/0/result.hdf",
|
|
99
|
+
"tests/compatibility/0/result.json",
|
|
100
|
+
"tests/compatibility/0/result.pkl",
|
|
101
|
+
"tests/compatibility/0/result.yaml",
|
|
102
|
+
"tests/compatibility/1/_dict.zarr",
|
|
103
|
+
"tests/compatibility/1/_object.zarr",
|
|
104
|
+
"tests/compatibility/1/array.json",
|
|
105
|
+
"tests/compatibility/1/array.pkl",
|
|
106
|
+
"tests/compatibility/1/array.yaml",
|
|
107
|
+
"tests/compatibility/1/array.zarr",
|
|
108
|
+
"tests/compatibility/1/array_col.json",
|
|
109
|
+
"tests/compatibility/1/array_col.pkl",
|
|
110
|
+
"tests/compatibility/1/array_col.yaml",
|
|
111
|
+
"tests/compatibility/1/array_col.zarr",
|
|
112
|
+
"tests/compatibility/1/dict.json",
|
|
113
|
+
"tests/compatibility/1/dict.pkl",
|
|
114
|
+
"tests/compatibility/1/dict.yaml",
|
|
115
|
+
"tests/compatibility/1/object.json",
|
|
116
|
+
"tests/compatibility/1/object.pkl",
|
|
117
|
+
"tests/compatibility/1/object.yaml",
|
|
118
|
+
"tests/compatibility/2/array.hdf",
|
|
119
|
+
"tests/compatibility/2/array.json",
|
|
120
|
+
"tests/compatibility/2/array.pkl",
|
|
121
|
+
"tests/compatibility/2/array.yaml",
|
|
122
|
+
"tests/compatibility/2/array.zip",
|
|
123
|
+
"tests/compatibility/2/array_col.hdf",
|
|
124
|
+
"tests/compatibility/2/array_col.json",
|
|
125
|
+
"tests/compatibility/2/array_col.pkl",
|
|
126
|
+
"tests/compatibility/2/array_col.yaml",
|
|
127
|
+
"tests/compatibility/2/array_col.zip",
|
|
128
|
+
"tests/compatibility/2/dict.hdf",
|
|
129
|
+
"tests/compatibility/2/dict.json",
|
|
130
|
+
"tests/compatibility/2/dict.pkl",
|
|
131
|
+
"tests/compatibility/2/dict.yaml",
|
|
132
|
+
"tests/compatibility/2/dict.zip",
|
|
133
|
+
"tests/compatibility/2/nested.hdf",
|
|
134
|
+
"tests/compatibility/2/nested.json",
|
|
135
|
+
"tests/compatibility/2/nested.pkl",
|
|
136
|
+
"tests/compatibility/2/nested.yaml",
|
|
137
|
+
"tests/compatibility/2/nested.zip",
|
|
138
|
+
"tests/compatibility/3/array.hdf",
|
|
139
|
+
"tests/compatibility/3/array.json",
|
|
140
|
+
"tests/compatibility/3/array.pkl",
|
|
141
|
+
"tests/compatibility/3/array.yaml",
|
|
142
|
+
"tests/compatibility/3/array.zip",
|
|
143
|
+
"tests/compatibility/3/array_col.hdf",
|
|
144
|
+
"tests/compatibility/3/array_col.json",
|
|
145
|
+
"tests/compatibility/3/array_col.pkl",
|
|
146
|
+
"tests/compatibility/3/array_col.yaml",
|
|
147
|
+
"tests/compatibility/3/array_col.zip",
|
|
148
|
+
"tests/compatibility/3/dict.hdf",
|
|
149
|
+
"tests/compatibility/3/dict.json",
|
|
150
|
+
"tests/compatibility/3/dict.pkl",
|
|
151
|
+
"tests/compatibility/3/dict.yaml",
|
|
152
|
+
"tests/compatibility/3/dict.zip",
|
|
153
|
+
"tests/compatibility/3/model_array.hdf",
|
|
154
|
+
"tests/compatibility/3/model_array.json",
|
|
155
|
+
"tests/compatibility/3/model_array.pkl",
|
|
156
|
+
"tests/compatibility/3/model_array.yaml",
|
|
157
|
+
"tests/compatibility/3/model_array.zip",
|
|
158
|
+
"tests/compatibility/3/model_array_col.hdf",
|
|
159
|
+
"tests/compatibility/3/model_array_col.json",
|
|
160
|
+
"tests/compatibility/3/model_array_col.pkl",
|
|
161
|
+
"tests/compatibility/3/model_array_col.yaml",
|
|
162
|
+
"tests/compatibility/3/model_array_col.zip",
|
|
163
|
+
"tests/compatibility/3/model_dict.hdf",
|
|
164
|
+
"tests/compatibility/3/model_dict.json",
|
|
165
|
+
"tests/compatibility/3/model_dict.pkl",
|
|
166
|
+
"tests/compatibility/3/model_dict.yaml",
|
|
167
|
+
"tests/compatibility/3/model_dict.zip",
|
|
168
|
+
"tests/compatibility/3/model_nested.hdf",
|
|
169
|
+
"tests/compatibility/3/model_nested.json",
|
|
170
|
+
"tests/compatibility/3/model_nested.pkl",
|
|
171
|
+
"tests/compatibility/3/model_nested.yaml",
|
|
172
|
+
"tests/compatibility/3/model_nested.zip",
|
|
173
|
+
"tests/compatibility/3/nested.hdf",
|
|
174
|
+
"tests/compatibility/3/nested.json",
|
|
175
|
+
"tests/compatibility/3/nested.pkl",
|
|
176
|
+
"tests/compatibility/3/nested.yaml",
|
|
177
|
+
"tests/compatibility/3/nested.zip",
|
|
178
|
+
"tests/compatibility/test_compatibility.py",
|
|
179
|
+
"tests/conftest.py",
|
|
180
|
+
"tests/helpers/__init__.py",
|
|
181
|
+
"tests/helpers/asserts.py",
|
|
182
|
+
"tests/helpers/storage.py",
|
|
183
|
+
"tests/model/scripts/empty.py",
|
|
184
|
+
"tests/model/scripts/function.py",
|
|
185
|
+
"tests/model/scripts/function_main.py",
|
|
186
|
+
"tests/model/scripts/function_marked.py",
|
|
187
|
+
"tests/model/scripts/make_model.py",
|
|
188
|
+
"tests/model/scripts/make_model_class.py",
|
|
189
|
+
"tests/model/scripts/make_model_marked.py",
|
|
190
|
+
"tests/model/test_model.py",
|
|
191
|
+
"tests/model/test_parameters.py",
|
|
192
|
+
"tests/requirements.txt",
|
|
193
|
+
"tests/run/scripts/custom.jinja",
|
|
194
|
+
"tests/run/scripts/fail.py",
|
|
195
|
+
"tests/run/scripts/function.py",
|
|
196
|
+
"tests/run/scripts/print.py",
|
|
197
|
+
"tests/run/scripts/script.py",
|
|
198
|
+
"tests/run/test_job.py",
|
|
199
|
+
"tests/run/test_results.py",
|
|
200
|
+
"tests/run/test_run_main.py",
|
|
201
|
+
"tests/storage/test_group.py",
|
|
202
|
+
"tests/storage/test_register_action.py",
|
|
203
|
+
"tests/storage/test_storage_generic.py",
|
|
204
|
+
"tests/storage/test_storage_special.py",
|
|
205
|
+
"tests/storage/test_trajectory.py",
|
|
206
|
+
"tests/storage/test_utils.py",
|
|
207
|
+
"tests/test_config.py",
|
|
208
|
+
"tests/test_examples.py",
|
|
209
|
+
"tests/test_main.py",
|
|
210
|
+
"tests/test_version.py"
|
|
211
|
+
]
|
|
212
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|