py-modelrunner 0.20.0__tar.gz → 0.20.1__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.
Files changed (219) hide show
  1. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/PKG-INFO +1 -1
  2. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/_version.py +3 -3
  3. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/job.py +4 -4
  4. py_modelrunner-0.20.1/modelrunner/run/templates/sbatch.jinja +42 -0
  5. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/templates/srun.jinja +5 -0
  6. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/trajectory.py +3 -1
  7. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/py_modelrunner.egg-info/PKG-INFO +1 -1
  8. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/py_modelrunner.egg-info/SOURCES.txt +3 -0
  9. py_modelrunner-0.20.1/py_modelrunner.egg-info/scm_file_list.json +212 -0
  10. py_modelrunner-0.20.1/py_modelrunner.egg-info/scm_version.json +8 -0
  11. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/.github/workflows/build.yml +0 -0
  12. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/.github/workflows/check_docs.yml +0 -0
  13. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/.github/workflows/coverage_report.yml +0 -0
  14. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/.github/workflows/release_pip.yml +0 -0
  15. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/.gitignore +0 -0
  16. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/.readthedocs.yaml +0 -0
  17. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/LICENSE +0 -0
  18. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/README.md +0 -0
  19. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/Makefile +0 -0
  20. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/build_all.sh +0 -0
  21. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/requirements.txt +0 -0
  22. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/source/.gitignore +0 -0
  23. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/source/conf.py +0 -0
  24. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/source/examples.rst +0 -0
  25. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/source/index.rst +0 -0
  26. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/source/installation.rst +0 -0
  27. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/source/parse_examples.py +0 -0
  28. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/source/run_autodoc.py +0 -0
  29. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/source/sphinx_simplify_typehints.py +0 -0
  30. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/docs/source/user_manual.rst +0 -0
  31. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/io_hdf.py +0 -0
  32. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/io_json.py +0 -0
  33. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/io_yaml.py +0 -0
  34. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/model_class.py +0 -0
  35. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/model_decorator.py +0 -0
  36. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/model_function.py +0 -0
  37. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/model_storage_output.py +0 -0
  38. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/read_many.py +0 -0
  39. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/script_custom_func.py +0 -0
  40. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/script_function.py +0 -0
  41. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/script_many_classes.py +0 -0
  42. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/script_minimal.py +0 -0
  43. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/script_model_class.py +0 -0
  44. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/submit_function.py +0 -0
  45. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/submit_many_func.py +0 -0
  46. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/submit_many_iter.py +0 -0
  47. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/examples/submit_shebang.py +0 -0
  48. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/.gitignore +0 -0
  49. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/__init__.py +0 -0
  50. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/__main__.py +0 -0
  51. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/config.py +0 -0
  52. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/model/__init__.py +0 -0
  53. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/model/base.py +0 -0
  54. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/model/factory.py +0 -0
  55. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/model/parameters.py +0 -0
  56. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/py.typed +0 -0
  57. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/__init__.py +0 -0
  58. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/__main__.py +0 -0
  59. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/compatibility/__init__.py +0 -0
  60. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/compatibility/triage.py +0 -0
  61. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/compatibility/version0.py +0 -0
  62. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/compatibility/version1.py +0 -0
  63. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/compatibility/version2.py +0 -0
  64. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/launch.py +0 -0
  65. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/results.py +0 -0
  66. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/templates/background.jinja +0 -0
  67. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/templates/foreground.jinja +0 -0
  68. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/run/templates/qsub.jinja +0 -0
  69. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/__init__.py +0 -0
  70. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/access_modes.py +0 -0
  71. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/attributes.py +0 -0
  72. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/backend/__init__.py +0 -0
  73. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/backend/_zarr2.py +0 -0
  74. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/backend/_zarr3.py +0 -0
  75. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/backend/hdf.py +0 -0
  76. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/backend/json.py +0 -0
  77. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/backend/memory.py +0 -0
  78. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/backend/text_base.py +0 -0
  79. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/backend/utils.py +0 -0
  80. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/backend/yaml.py +0 -0
  81. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/backend/zarr.py +0 -0
  82. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/base.py +0 -0
  83. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/group.py +0 -0
  84. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/tools.py +0 -0
  85. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/storage/utils.py +0 -0
  86. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/modelrunner/utils.py +0 -0
  87. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/py_modelrunner.egg-info/dependency_links.txt +0 -0
  88. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/py_modelrunner.egg-info/not-zip-safe +0 -0
  89. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/py_modelrunner.egg-info/requires.txt +0 -0
  90. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/py_modelrunner.egg-info/top_level.txt +0 -0
  91. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/pyproject.toml +0 -0
  92. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/requirements.txt +0 -0
  93. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/requirements_full.txt +0 -0
  94. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/create_compatibility_files.py +0 -0
  95. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/format_code.sh +0 -0
  96. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/performance_hdf5_zarr.py +0 -0
  97. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/requirements.txt +0 -0
  98. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/run_tests.py +0 -0
  99. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/tests_all.sh +0 -0
  100. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/tests_codestyle.sh +0 -0
  101. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/tests_coverage.sh +0 -0
  102. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/tests_debug.sh +0 -0
  103. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/tests_parallel.sh +0 -0
  104. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/tests_run.sh +0 -0
  105. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/scripts/tests_types.sh +0 -0
  106. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/setup.cfg +0 -0
  107. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/0/result.hdf +0 -0
  108. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/0/result.json +0 -0
  109. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/0/result.pkl +0 -0
  110. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/0/result.yaml +0 -0
  111. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/_dict.zarr +0 -0
  112. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/_object.zarr +0 -0
  113. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/array.json +0 -0
  114. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/array.pkl +0 -0
  115. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/array.yaml +0 -0
  116. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/array.zarr +0 -0
  117. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/array_col.json +0 -0
  118. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/array_col.pkl +0 -0
  119. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/array_col.yaml +0 -0
  120. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/array_col.zarr +0 -0
  121. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/dict.json +0 -0
  122. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/dict.pkl +0 -0
  123. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/dict.yaml +0 -0
  124. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/object.json +0 -0
  125. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/object.pkl +0 -0
  126. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/1/object.yaml +0 -0
  127. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/array.hdf +0 -0
  128. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/array.json +0 -0
  129. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/array.pkl +0 -0
  130. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/array.yaml +0 -0
  131. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/array.zip +0 -0
  132. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/array_col.hdf +0 -0
  133. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/array_col.json +0 -0
  134. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/array_col.pkl +0 -0
  135. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/array_col.yaml +0 -0
  136. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/array_col.zip +0 -0
  137. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/dict.hdf +0 -0
  138. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/dict.json +0 -0
  139. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/dict.pkl +0 -0
  140. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/dict.yaml +0 -0
  141. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/dict.zip +0 -0
  142. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/nested.hdf +0 -0
  143. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/nested.json +0 -0
  144. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/nested.pkl +0 -0
  145. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/nested.yaml +0 -0
  146. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/2/nested.zip +0 -0
  147. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/array.hdf +0 -0
  148. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/array.json +0 -0
  149. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/array.pkl +0 -0
  150. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/array.yaml +0 -0
  151. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/array.zip +0 -0
  152. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/array_col.hdf +0 -0
  153. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/array_col.json +0 -0
  154. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/array_col.pkl +0 -0
  155. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/array_col.yaml +0 -0
  156. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/array_col.zip +0 -0
  157. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/dict.hdf +0 -0
  158. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/dict.json +0 -0
  159. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/dict.pkl +0 -0
  160. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/dict.yaml +0 -0
  161. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/dict.zip +0 -0
  162. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_array.hdf +0 -0
  163. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_array.json +0 -0
  164. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_array.pkl +0 -0
  165. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_array.yaml +0 -0
  166. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_array.zip +0 -0
  167. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_array_col.hdf +0 -0
  168. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_array_col.json +0 -0
  169. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_array_col.pkl +0 -0
  170. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_array_col.yaml +0 -0
  171. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_array_col.zip +0 -0
  172. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_dict.hdf +0 -0
  173. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_dict.json +0 -0
  174. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_dict.pkl +0 -0
  175. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_dict.yaml +0 -0
  176. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_dict.zip +0 -0
  177. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_nested.hdf +0 -0
  178. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_nested.json +0 -0
  179. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_nested.pkl +0 -0
  180. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_nested.yaml +0 -0
  181. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/model_nested.zip +0 -0
  182. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/nested.hdf +0 -0
  183. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/nested.json +0 -0
  184. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/nested.pkl +0 -0
  185. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/nested.yaml +0 -0
  186. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/3/nested.zip +0 -0
  187. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/compatibility/test_compatibility.py +0 -0
  188. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/conftest.py +0 -0
  189. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/helpers/__init__.py +0 -0
  190. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/helpers/asserts.py +0 -0
  191. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/helpers/storage.py +0 -0
  192. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/model/scripts/empty.py +0 -0
  193. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/model/scripts/function.py +0 -0
  194. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/model/scripts/function_main.py +0 -0
  195. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/model/scripts/function_marked.py +0 -0
  196. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/model/scripts/make_model.py +0 -0
  197. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/model/scripts/make_model_class.py +0 -0
  198. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/model/scripts/make_model_marked.py +0 -0
  199. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/model/test_model.py +0 -0
  200. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/model/test_parameters.py +0 -0
  201. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/requirements.txt +0 -0
  202. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/run/scripts/custom.jinja +0 -0
  203. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/run/scripts/fail.py +0 -0
  204. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/run/scripts/function.py +0 -0
  205. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/run/scripts/print.py +0 -0
  206. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/run/scripts/script.py +0 -0
  207. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/run/test_job.py +0 -0
  208. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/run/test_results.py +0 -0
  209. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/run/test_run_main.py +0 -0
  210. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/storage/test_group.py +0 -0
  211. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/storage/test_register_action.py +0 -0
  212. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/storage/test_storage_generic.py +0 -0
  213. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/storage/test_storage_special.py +0 -0
  214. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/storage/test_trajectory.py +0 -0
  215. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/storage/test_utils.py +0 -0
  216. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/test_config.py +0 -0
  217. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/test_examples.py +0 -0
  218. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/tests/test_main.py +0 -0
  219. {py_modelrunner-0.20.0 → py_modelrunner-0.20.1}/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.0
3
+ Version: 0.20.1
4
4
  Summary: Python classes for organizing (HPC) simulations
5
5
  Author-email: David Zwicker <david.zwicker@ds.mpg.de>
6
6
  License: MIT
@@ -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.0'
22
- __version_tuple__ = version_tuple = (0, 20, 0)
21
+ __version__ = version = '0.20.1'
22
+ __version_tuple__ = version_tuple = (0, 20, 1)
23
23
 
24
- __commit_id__ = commit_id = 'ga172a6158'
24
+ __commit_id__ = commit_id = 'g25228fdcb'
@@ -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
- 'srun', and `qsub` are supported. The special value `auto` reads the method
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,42 @@
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 -p {{ CONFIG['partition'] }}
14
+ {% endif %}
15
+ # Set max. runtime
16
+ {% if CONFIG['time'] is defined %}
17
+ #SBATCH --time={{ TIME }}
18
+ {% endif %}
19
+ #SBATCH --time=12:00:00
20
+
21
+ hostname
22
+ echo $JOB_ID
23
+
24
+ {% if CONFIG.num_threads is number %}
25
+ # set the number of threads to use
26
+ export MKL_NUM_THREADS={{ CONFIG.num_threads }}
27
+ export NUMBA_NUM_THREADS={{ CONFIG.num_threads }}
28
+ export NUMEXPR_NUM_THREADS={{ CONFIG.num_threads }}
29
+ export OMP_NUM_THREADS={{ CONFIG.num_threads }}
30
+ export OPENBLAS_NUM_THREADS={{ CONFIG.num_threads }}
31
+ {% endif %}
32
+
33
+ {% if OUTPUT_FOLDER is defined and OUTPUT_FOLDER %}
34
+ mkdir -p {{ OUTPUT_FOLDER }}
35
+ {% endif %}
36
+
37
+ # Run the program
38
+ {% if USE_MODELRUNNER is defined and USE_MODELRUNNER %}
39
+ {{ CONFIG.python_bin }} -m modelrunner {{ MODEL_FILE }} {{ JOB_ARGS }}
40
+ {% else %}
41
+ {{ CONFIG.python_bin }} {{ MODEL_FILE }} {{ JOB_ARGS }}
42
+ {% endif %}
@@ -12,6 +12,11 @@
12
12
  {% if CONFIG['partition'] is defined %}
13
13
  #SBATCH -p {{ CONFIG['partition'] }}
14
14
  {% endif %}
15
+ # Set max. runtime
16
+ {% if CONFIG['time'] is defined %}
17
+ #SBATCH --time={{ TIME }}
18
+ {% endif %}
19
+ #SBATCH --time=12:00:00
15
20
 
16
21
  hostname
17
22
  echo $JOB_ID
@@ -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("Trajectories must be arrays for zarr3")
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.0
3
+ Version: 0.20.1
4
4
  Summary: Python classes for organizing (HPC) simulations
5
5
  Author-email: David Zwicker <david.zwicker@ds.mpg.de>
6
6
  License: MIT
@@ -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
+ ".gitignore",
4
+ "README.md",
5
+ "requirements.txt",
6
+ "pyproject.toml",
7
+ "requirements_full.txt",
8
+ "LICENSE",
9
+ ".readthedocs.yaml",
10
+ "modelrunner/.gitignore",
11
+ "modelrunner/config.py",
12
+ "modelrunner/utils.py",
13
+ "modelrunner/__main__.py",
14
+ "modelrunner/py.typed",
15
+ "modelrunner/__init__.py",
16
+ "modelrunner/run/job.py",
17
+ "modelrunner/run/results.py",
18
+ "modelrunner/run/__main__.py",
19
+ "modelrunner/run/launch.py",
20
+ "modelrunner/run/__init__.py",
21
+ "modelrunner/run/templates/srun.jinja",
22
+ "modelrunner/run/templates/qsub.jinja",
23
+ "modelrunner/run/templates/foreground.jinja",
24
+ "modelrunner/run/templates/background.jinja",
25
+ "modelrunner/run/templates/sbatch.jinja",
26
+ "modelrunner/run/compatibility/triage.py",
27
+ "modelrunner/run/compatibility/version1.py",
28
+ "modelrunner/run/compatibility/version0.py",
29
+ "modelrunner/run/compatibility/version2.py",
30
+ "modelrunner/run/compatibility/__init__.py",
31
+ "modelrunner/storage/base.py",
32
+ "modelrunner/storage/access_modes.py",
33
+ "modelrunner/storage/utils.py",
34
+ "modelrunner/storage/trajectory.py",
35
+ "modelrunner/storage/group.py",
36
+ "modelrunner/storage/attributes.py",
37
+ "modelrunner/storage/tools.py",
38
+ "modelrunner/storage/__init__.py",
39
+ "modelrunner/storage/backend/zarr.py",
40
+ "modelrunner/storage/backend/memory.py",
41
+ "modelrunner/storage/backend/_zarr3.py",
42
+ "modelrunner/storage/backend/yaml.py",
43
+ "modelrunner/storage/backend/json.py",
44
+ "modelrunner/storage/backend/text_base.py",
45
+ "modelrunner/storage/backend/utils.py",
46
+ "modelrunner/storage/backend/_zarr2.py",
47
+ "modelrunner/storage/backend/hdf.py",
48
+ "modelrunner/storage/backend/__init__.py",
49
+ "modelrunner/model/parameters.py",
50
+ "modelrunner/model/base.py",
51
+ "modelrunner/model/factory.py",
52
+ "modelrunner/model/__init__.py",
53
+ ".github/workflows/release_pip.yml",
54
+ ".github/workflows/coverage_report.yml",
55
+ ".github/workflows/build.yml",
56
+ ".github/workflows/check_docs.yml",
57
+ "scripts/tests_coverage.sh",
58
+ "scripts/tests_debug.sh",
59
+ "scripts/requirements.txt",
60
+ "scripts/tests_run.sh",
61
+ "scripts/run_tests.py",
62
+ "scripts/tests_codestyle.sh",
63
+ "scripts/format_code.sh",
64
+ "scripts/tests_all.sh",
65
+ "scripts/performance_hdf5_zarr.py",
66
+ "scripts/tests_types.sh",
67
+ "scripts/tests_parallel.sh",
68
+ "scripts/create_compatibility_files.py",
69
+ "examples/script_minimal.py",
70
+ "examples/script_many_classes.py",
71
+ "examples/io_yaml.py",
72
+ "examples/script_custom_func.py",
73
+ "examples/model_storage_output.py",
74
+ "examples/submit_function.py",
75
+ "examples/io_json.py",
76
+ "examples/model_class.py",
77
+ "examples/script_model_class.py",
78
+ "examples/submit_shebang.py",
79
+ "examples/read_many.py",
80
+ "examples/script_function.py",
81
+ "examples/model_decorator.py",
82
+ "examples/model_function.py",
83
+ "examples/io_hdf.py",
84
+ "examples/submit_many_func.py",
85
+ "examples/submit_many_iter.py",
86
+ "tests/test_version.py",
87
+ "tests/conftest.py",
88
+ "tests/requirements.txt",
89
+ "tests/test_config.py",
90
+ "tests/test_examples.py",
91
+ "tests/test_main.py",
92
+ "tests/helpers/asserts.py",
93
+ "tests/helpers/storage.py",
94
+ "tests/helpers/__init__.py",
95
+ "tests/run/test_job.py",
96
+ "tests/run/test_run_main.py",
97
+ "tests/run/test_results.py",
98
+ "tests/run/scripts/function.py",
99
+ "tests/run/scripts/print.py",
100
+ "tests/run/scripts/fail.py",
101
+ "tests/run/scripts/custom.jinja",
102
+ "tests/run/scripts/script.py",
103
+ "tests/storage/test_register_action.py",
104
+ "tests/storage/test_group.py",
105
+ "tests/storage/test_storage_generic.py",
106
+ "tests/storage/test_trajectory.py",
107
+ "tests/storage/test_storage_special.py",
108
+ "tests/storage/test_utils.py",
109
+ "tests/model/test_model.py",
110
+ "tests/model/test_parameters.py",
111
+ "tests/model/scripts/make_model_class.py",
112
+ "tests/model/scripts/make_model.py",
113
+ "tests/model/scripts/make_model_marked.py",
114
+ "tests/model/scripts/function.py",
115
+ "tests/model/scripts/function_marked.py",
116
+ "tests/model/scripts/function_main.py",
117
+ "tests/model/scripts/empty.py",
118
+ "tests/compatibility/test_compatibility.py",
119
+ "tests/compatibility/1/object.yaml",
120
+ "tests/compatibility/1/array.yaml",
121
+ "tests/compatibility/1/array_col.pkl",
122
+ "tests/compatibility/1/array.json",
123
+ "tests/compatibility/1/object.pkl",
124
+ "tests/compatibility/1/array_col.yaml",
125
+ "tests/compatibility/1/array.zarr",
126
+ "tests/compatibility/1/dict.json",
127
+ "tests/compatibility/1/array.pkl",
128
+ "tests/compatibility/1/array_col.zarr",
129
+ "tests/compatibility/1/_object.zarr",
130
+ "tests/compatibility/1/_dict.zarr",
131
+ "tests/compatibility/1/dict.pkl",
132
+ "tests/compatibility/1/object.json",
133
+ "tests/compatibility/1/dict.yaml",
134
+ "tests/compatibility/1/array_col.json",
135
+ "tests/compatibility/2/nested.hdf",
136
+ "tests/compatibility/2/array.yaml",
137
+ "tests/compatibility/2/array_col.zip",
138
+ "tests/compatibility/2/array.zip",
139
+ "tests/compatibility/2/array_col.pkl",
140
+ "tests/compatibility/2/array.json",
141
+ "tests/compatibility/2/array_col.yaml",
142
+ "tests/compatibility/2/nested.json",
143
+ "tests/compatibility/2/dict.json",
144
+ "tests/compatibility/2/dict.zip",
145
+ "tests/compatibility/2/nested.pkl",
146
+ "tests/compatibility/2/array.pkl",
147
+ "tests/compatibility/2/dict.hdf",
148
+ "tests/compatibility/2/nested.yaml",
149
+ "tests/compatibility/2/array_col.hdf",
150
+ "tests/compatibility/2/dict.pkl",
151
+ "tests/compatibility/2/nested.zip",
152
+ "tests/compatibility/2/array.hdf",
153
+ "tests/compatibility/2/dict.yaml",
154
+ "tests/compatibility/2/array_col.json",
155
+ "tests/compatibility/3/model_nested.hdf",
156
+ "tests/compatibility/3/nested.hdf",
157
+ "tests/compatibility/3/model_array.yaml",
158
+ "tests/compatibility/3/array.yaml",
159
+ "tests/compatibility/3/model_array.hdf",
160
+ "tests/compatibility/3/model_dict.hdf",
161
+ "tests/compatibility/3/array_col.zip",
162
+ "tests/compatibility/3/array.zip",
163
+ "tests/compatibility/3/array_col.pkl",
164
+ "tests/compatibility/3/model_dict.json",
165
+ "tests/compatibility/3/array.json",
166
+ "tests/compatibility/3/model_array.json",
167
+ "tests/compatibility/3/model_array_col.hdf",
168
+ "tests/compatibility/3/model_nested.json",
169
+ "tests/compatibility/3/model_dict.yaml",
170
+ "tests/compatibility/3/array_col.yaml",
171
+ "tests/compatibility/3/model_dict.pkl",
172
+ "tests/compatibility/3/nested.json",
173
+ "tests/compatibility/3/dict.json",
174
+ "tests/compatibility/3/dict.zip",
175
+ "tests/compatibility/3/model_array_col.yaml",
176
+ "tests/compatibility/3/model_nested.pkl",
177
+ "tests/compatibility/3/nested.pkl",
178
+ "tests/compatibility/3/model_nested.zip",
179
+ "tests/compatibility/3/array.pkl",
180
+ "tests/compatibility/3/dict.hdf",
181
+ "tests/compatibility/3/nested.yaml",
182
+ "tests/compatibility/3/model_array_col.pkl",
183
+ "tests/compatibility/3/model_array_col.zip",
184
+ "tests/compatibility/3/array_col.hdf",
185
+ "tests/compatibility/3/model_nested.yaml",
186
+ "tests/compatibility/3/dict.pkl",
187
+ "tests/compatibility/3/model_array_col.json",
188
+ "tests/compatibility/3/nested.zip",
189
+ "tests/compatibility/3/model_dict.zip",
190
+ "tests/compatibility/3/array.hdf",
191
+ "tests/compatibility/3/model_array.zip",
192
+ "tests/compatibility/3/dict.yaml",
193
+ "tests/compatibility/3/model_array.pkl",
194
+ "tests/compatibility/3/array_col.json",
195
+ "tests/compatibility/0/result.yaml",
196
+ "tests/compatibility/0/result.json",
197
+ "tests/compatibility/0/result.hdf",
198
+ "tests/compatibility/0/result.pkl",
199
+ "docs/Makefile",
200
+ "docs/requirements.txt",
201
+ "docs/build_all.sh",
202
+ "docs/source/conf.py",
203
+ "docs/source/.gitignore",
204
+ "docs/source/installation.rst",
205
+ "docs/source/index.rst",
206
+ "docs/source/sphinx_simplify_typehints.py",
207
+ "docs/source/run_autodoc.py",
208
+ "docs/source/examples.rst",
209
+ "docs/source/parse_examples.py",
210
+ "docs/source/user_manual.rst"
211
+ ]
212
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.20.1",
3
+ "distance": 0,
4
+ "node": "g25228fdcb2126acc0b18bf32a0dfd86b2b8223e6",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-07-17"
8
+ }
File without changes