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