hpcflow-new2 0.2.0a50__py3-none-any.whl → 0.2.0a52__py3-none-any.whl

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 (38) hide show
  1. hpcflow/_version.py +1 -1
  2. hpcflow/sdk/__init__.py +1 -1
  3. hpcflow/sdk/api.py +1 -1
  4. hpcflow/sdk/app.py +20 -11
  5. hpcflow/sdk/cli.py +34 -59
  6. hpcflow/sdk/core/__init__.py +13 -1
  7. hpcflow/sdk/core/actions.py +235 -126
  8. hpcflow/sdk/core/command_files.py +32 -24
  9. hpcflow/sdk/core/element.py +110 -114
  10. hpcflow/sdk/core/errors.py +57 -0
  11. hpcflow/sdk/core/loop.py +18 -34
  12. hpcflow/sdk/core/parameters.py +5 -3
  13. hpcflow/sdk/core/task.py +135 -131
  14. hpcflow/sdk/core/task_schema.py +11 -4
  15. hpcflow/sdk/core/utils.py +110 -2
  16. hpcflow/sdk/core/workflow.py +964 -676
  17. hpcflow/sdk/data/template_components/environments.yaml +0 -44
  18. hpcflow/sdk/data/template_components/task_schemas.yaml +52 -10
  19. hpcflow/sdk/persistence/__init__.py +21 -33
  20. hpcflow/sdk/persistence/base.py +1340 -458
  21. hpcflow/sdk/persistence/json.py +424 -546
  22. hpcflow/sdk/persistence/pending.py +563 -0
  23. hpcflow/sdk/persistence/store_resource.py +131 -0
  24. hpcflow/sdk/persistence/utils.py +57 -0
  25. hpcflow/sdk/persistence/zarr.py +852 -841
  26. hpcflow/sdk/submission/jobscript.py +133 -112
  27. hpcflow/sdk/submission/shells/bash.py +62 -16
  28. hpcflow/sdk/submission/shells/powershell.py +87 -16
  29. hpcflow/sdk/submission/submission.py +59 -35
  30. hpcflow/tests/unit/test_element.py +4 -9
  31. hpcflow/tests/unit/test_persistence.py +218 -0
  32. hpcflow/tests/unit/test_task.py +11 -12
  33. hpcflow/tests/unit/test_utils.py +82 -0
  34. hpcflow/tests/unit/test_workflow.py +3 -1
  35. {hpcflow_new2-0.2.0a50.dist-info → hpcflow_new2-0.2.0a52.dist-info}/METADATA +3 -1
  36. {hpcflow_new2-0.2.0a50.dist-info → hpcflow_new2-0.2.0a52.dist-info}/RECORD +38 -34
  37. {hpcflow_new2-0.2.0a50.dist-info → hpcflow_new2-0.2.0a52.dist-info}/WHEEL +0 -0
  38. {hpcflow_new2-0.2.0a50.dist-info → hpcflow_new2-0.2.0a52.dist-info}/entry_points.txt +0 -0
@@ -6,10 +6,14 @@ from numpy.typing import NDArray
6
6
  from hpcflow.sdk.core.errors import InvalidIdentifier
7
7
 
8
8
  from hpcflow.sdk.core.utils import (
9
+ JSONLikeDirSnapShot,
9
10
  bisect_slice,
11
+ flatten,
10
12
  get_nested_indices,
13
+ is_fsspec_url,
11
14
  replace_items,
12
15
  check_valid_py_identifier,
16
+ reshape,
13
17
  )
14
18
 
15
19
 
@@ -255,6 +259,84 @@ def test_expected_return_check_valid_py_identifier_all_greek_alpha():
255
259
  assert check_valid_py_identifier("αβγ") == "αβγ"
256
260
 
257
261
 
262
+ def test_flatten_reshape_round_trip_depth_2():
263
+ lst = [[[1, 2], [3]], [[4, 5, 6], [7, 8], [9, 10]]]
264
+ lst_flat, lens = flatten(lst)
265
+ assert lst_flat == list(range(1, 11)) and reshape(lst_flat, lens) == lst
266
+
267
+
268
+ def test_flatten_reshape_round_trip_depth_0():
269
+ lst = [1, 2, 3]
270
+ lst_flat, lens = flatten(lst)
271
+ assert lst_flat == list(range(1, 4)) and reshape(lst_flat, lens) == lst
272
+
273
+
274
+ def test_flatten_reshape_round_trip_depth_1():
275
+ lst = [[4, 5, 6], [7, 8], [9, 10]]
276
+ lst_flat, lens = flatten(lst)
277
+ assert lst_flat == list(range(4, 11)) and reshape(lst_flat, lens) == lst
278
+
279
+
280
+ def test_flatten_expected_return_first_item_empty_list():
281
+ lst = [[], [1]]
282
+ flt = flatten(lst)
283
+ assert flt == ([1], ([0, 1],))
284
+
285
+
286
+ def test_flatten_expected_return_second_item_empty_list():
287
+ lst = [[1], []]
288
+ flt = flatten(lst)
289
+ assert flt == ([1], ([1, 0],))
290
+
291
+
292
+ def test_is_fsspec_url_simple():
293
+ assert is_fsspec_url("github://dask:fastparquet@main/test-data/nation.csv")
294
+
295
+
296
+ def test_is_fsspec_url_compound():
297
+ assert is_fsspec_url("dask::s3://bucket/key")
298
+
299
+
300
+ def test_is_fsspec_url_compound_complex():
301
+ assert is_fsspec_url("simplecache::zip://*.csv::gcs://bucket/afile.zip")
302
+
303
+
304
+ def test_is_fsspec_url_false_cwd():
305
+ assert not is_fsspec_url(".")
306
+
307
+
308
+ def test_is_fsspec_url_false_local_win_abs_path():
309
+ assert not is_fsspec_url("C:\\my_files")
310
+
311
+
312
+ def test_is_fsspec_url_false_local_win_rel_path():
313
+ assert not is_fsspec_url(".\\a\\b\\c")
314
+
315
+
316
+ def test_is_fsspec_url_false_local_win_rel_up_path():
317
+ assert not is_fsspec_url("..\\a\\b\\c")
318
+
319
+
320
+ def test_is_fsspec_url_false_local_nix_abs_path():
321
+ assert not is_fsspec_url("/mnt/c/my_files")
322
+
323
+
324
+ def test_is_fsspec_url_false_local_nix_rel_path():
325
+ assert not is_fsspec_url("./a/b/c")
326
+
327
+
328
+ def test_is_fsspec_url_false_local_nix_rel_up_path():
329
+ assert not is_fsspec_url("../a/b/c")
330
+
331
+
332
+ def test_JSONLikeDirSnapShot_round_trip(tmpdir):
333
+ snap_0 = JSONLikeDirSnapShot()
334
+ snap_0.take(str(tmpdir))
335
+ js_0 = snap_0.to_json_like()
336
+ snap_0_rl = JSONLikeDirSnapShot(**js_0)
337
+ assert snap_0._stat_info == snap_0_rl._stat_info
338
+
339
+
258
340
  # from hpcflow.utils import (
259
341
  # get_duplicate_items,
260
342
  # check_valid_py_identifier,
@@ -244,6 +244,7 @@ def test_empty_batch_update_does_nothing(workflow_w1):
244
244
  assert not workflow_w1._store.has_pending
245
245
 
246
246
 
247
+ @pytest.mark.skip("need to re-implement `is_modified_on_disk`")
247
248
  def test_is_modified_on_disk_when_metadata_changed(workflow_w1):
248
249
  # this is ZarrPersistentStore-specific; might want to consider a refactor later
249
250
  with workflow_w1._store.cached_load():
@@ -251,6 +252,7 @@ def test_is_modified_on_disk_when_metadata_changed(workflow_w1):
251
252
  assert workflow_w1._store.is_modified_on_disk()
252
253
 
253
254
 
255
+ @pytest.mark.skip("need to re-implement `is_modified_on_disk`")
254
256
  def test_batch_update_abort_if_modified_on_disk(workflow_w1, schema_s2, param_p3):
255
257
  t2 = hf.Task(schemas=schema_s2, inputs=[hf.InputValue(param_p3, 301)])
256
258
  with pytest.raises(WorkflowBatchUpdateFailedError):
@@ -281,7 +283,7 @@ def test_WorkflowTemplate_from_JSON_string_without_element_sets(null_config):
281
283
  "tasks": [
282
284
  {
283
285
  "schemas": [
284
- "test_bash_t1"
286
+ "test_t1_bash"
285
287
  ],
286
288
  "inputs": {
287
289
  "p1": 101
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hpcflow-new2
3
- Version: 0.2.0a50
3
+ Version: 0.2.0a52
4
4
  Summary: Computational workflow management
5
5
  License: MIT
6
6
  Author: aplowman
@@ -13,10 +13,12 @@ Classifier: Programming Language :: Python :: 3.9
13
13
  Classifier: Programming Language :: Python :: 3.10
14
14
  Classifier: Programming Language :: Python :: 3.11
15
15
  Provides-Extra: test
16
+ Requires-Dist: aiohttp (>=3.8.4,<4.0.0)
16
17
  Requires-Dist: click (>=8.1.3,<9.0.0)
17
18
  Requires-Dist: colorama (>=0.4.6,<0.5.0)
18
19
  Requires-Dist: fsspec (>=2022.2.0,<2023.0.0)
19
20
  Requires-Dist: msgpack (>=1.0.4,<2.0.0)
21
+ Requires-Dist: paramiko (>=3.2.0,<4.0.0)
20
22
  Requires-Dist: platformdirs (>=2.5.1,<3.0.0)
21
23
  Requires-Dist: psutil (>=5.9.4,<6.0.0)
22
24
  Requires-Dist: pytest (>=7.2.0,<8.0.0) ; extra == "test"
@@ -1,37 +1,37 @@
1
1
  hpcflow/__init__.py,sha256=WIETuRHeOp2SqUqHUzpjQ-lk9acbYv-6aWOhZPRdlhs,64
2
2
  hpcflow/__pyinstaller/__init__.py,sha256=YOzBlPSck6slucv6lJM9K80JtsJWxXRL00cv6tRj3oc,98
3
3
  hpcflow/__pyinstaller/hook-hpcflow.py,sha256=r57ND9UuWoWKdcHjr1UFvNSLwFpZ4FIXAb5-q8NRGis,741
4
- hpcflow/_version.py,sha256=wF5FjQo6V2l6fsCR2_bz7aj-hLoqW_-A9Cia7pqUCBI,25
4
+ hpcflow/_version.py,sha256=odH6_FS8cHBx7KUFeJQfEahTMVBrsuTgysXkVPDFWUc,25
5
5
  hpcflow/app.py,sha256=aqAu60N-8rpTDevhcgcDeyY4OTvMKX0u-AWrZTIYWvI,1324
6
6
  hpcflow/cli.py,sha256=G2J3D9v6MnMWOWMMWK6UEKLn_6wnV9lT_qygEBBxg-I,66
7
7
  hpcflow/examples.ipynb,sha256=cLKp4QsxwwMXRanDnfWY9kqsV23q6G4raOpu6IZXnMw,28553
8
- hpcflow/sdk/__init__.py,sha256=ktUkfiHIMc83DV7MbW91t1sGr_z_WKGALuJAJaKZYnI,5287
9
- hpcflow/sdk/api.py,sha256=brdBPwhkSsxbDjlLau92zr73MXATY07jL9Ma7GG3YXI,627
10
- hpcflow/sdk/app.py,sha256=lxP-vhRzHtaFoexuzfyjV5gvABr_31AdE_PsCgNFyDI,25394
11
- hpcflow/sdk/cli.py,sha256=llnfCx2h9t_pNQy7l-ualAYLwMkhTda5ZSSB2z60HC0,17504
8
+ hpcflow/sdk/__init__.py,sha256=U_4g0F94hEYDX3KGTU53hhpc-HImddizk0bXPiZ9K74,5285
9
+ hpcflow/sdk/api.py,sha256=vSJRtzBvqnkWswOFyjXlHIPeib3M38x4wmqSKWcBJwo,618
10
+ hpcflow/sdk/app.py,sha256=JZ37kjVsQn9fc3VTPq3qz6cmT-NtYoET1aCbCCGGpH4,25794
11
+ hpcflow/sdk/cli.py,sha256=x2ENTOyqX27J0zeNEq4x2HMEJ_No67Ne7SUj4tEuR7g,17167
12
12
  hpcflow/sdk/config/__init__.py,sha256=osdU5cpd1u4yJExcO6hDfHgxqnSPdDUDbxH4o513Y0E,63
13
13
  hpcflow/sdk/config/callbacks.py,sha256=TDPZ0TX7IgIDID25eeJcvEyLPlrYikSzJ99kVFn9LLk,1930
14
14
  hpcflow/sdk/config/cli.py,sha256=JTXGPJZAX4CkdR2Mkhj6nXBvuQxoTkIwKenLxX6oFcI,5324
15
15
  hpcflow/sdk/config/config.py,sha256=2R9E0H5qMGKG1eAmIBA87CGBSe3MN0JCTYBPUxp4o-o,18040
16
16
  hpcflow/sdk/config/config_file.py,sha256=RLjViofKwJ90XZ2skOcg77Q45Ad4-ua90_PF8ZTwcYg,7910
17
17
  hpcflow/sdk/config/errors.py,sha256=8MUFBms4T7O4btjttO24_gRIRQJw1RdcjMZSYIivF18,6521
18
- hpcflow/sdk/core/__init__.py,sha256=P_aJeSvrHW2FHS8A9u1E5zP98lcuaw1ZjSx2Wd1pGqM,44
19
- hpcflow/sdk/core/actions.py,sha256=F0gLe8e5FOHripcVQP5PXmyXh9k2RMgJGvaxyKoRRTQ,48127
20
- hpcflow/sdk/core/command_files.py,sha256=4Tdd4YK5A2lfP6U78Jp1AsyKSaOKCrMbsgLE6anN6Qg,15297
18
+ hpcflow/sdk/core/__init__.py,sha256=t5zVtlPT1p49yQuAzHkkkB7s-rugTPgvqWA5YZbW2Z4,248
19
+ hpcflow/sdk/core/actions.py,sha256=JWUbOkMB0taUA4kYRdLC1EbD_Ol0ji3N9g9PUwxVURE,52123
20
+ hpcflow/sdk/core/command_files.py,sha256=HMN1WS4083c-MKQYIVV1nf8sU9tfgzoDHZTWuG7URnc,15410
21
21
  hpcflow/sdk/core/commands.py,sha256=luBogtapcfRnoKNrWisdxnfa27zZXSKhUEDEy8gxgM0,1674
22
- hpcflow/sdk/core/element.py,sha256=-salw5zJMGhv5YtNgW4nr_uqxz_Ornhx04TajgXRfW4,32638
22
+ hpcflow/sdk/core/element.py,sha256=SFqqK60zfnD7ESrF0NBVEKEShGqu8tXQjN0FmQDmzPc,32263
23
23
  hpcflow/sdk/core/environment.py,sha256=DGUz1NvliKh6opP0IueGHD69rn_8wFLhDsq6kAmEgM4,4849
24
- hpcflow/sdk/core/errors.py,sha256=suAFPozJ_t_TCa_Pw7FF0yKgJ_e-G3EthjanhGGK65Y,3781
24
+ hpcflow/sdk/core/errors.py,sha256=DM-SjcZgNLgbHWRKWi7Ww8p5NoW-23AZ0QZdEECHpoI,5277
25
25
  hpcflow/sdk/core/json_like.py,sha256=DRJzpveSwakvm20_-SiHKFpRBa8GHNgkibrSPIW8698,18597
26
- hpcflow/sdk/core/loop.py,sha256=XwtCBk-SpnR3f6oRZe9cpnYYsWj48r-V1nRVZYGfLpA,18687
26
+ hpcflow/sdk/core/loop.py,sha256=w1Y5U6qAzI1FaktlkEI5ixRcqyMO3pQJXbr3g1VuMUg,18077
27
27
  hpcflow/sdk/core/object_list.py,sha256=opUmvr0Lo1gQw9zUp1Mzt4rM4thCsECPN9G1R-VV9Co,16423
28
- hpcflow/sdk/core/parameters.py,sha256=xfgSHn3rkZ81-Te-AAfvTL7lJyRbIp1b5Vn5SqMZYi0,37775
29
- hpcflow/sdk/core/task.py,sha256=zQTNPsvX7tn_LcKsAY-5uBtt7VdkfaE4Qg_JNlM0X1s,79680
30
- hpcflow/sdk/core/task_schema.py,sha256=rf6pDjI42PBcdzZ9zY0v0hipPJypXZJUeBrQ_SrlT8E,9595
28
+ hpcflow/sdk/core/parameters.py,sha256=d3eF58bWxU2ndooFxU1HZJ8ge7N-fS54gu-P1G7mq9g,37852
29
+ hpcflow/sdk/core/task.py,sha256=yi2JWr9GTQeQm3jdNHn9loSgGIQd96Y8HnM1c89dCZs,79751
30
+ hpcflow/sdk/core/task_schema.py,sha256=Jlk3Fo-IRTiUfs1Zwt4aechyo5-x5075oF0qslrHsHw,9857
31
31
  hpcflow/sdk/core/test_utils.py,sha256=FfYAZytsWSVTHYRNiSBf7VQpyDKhAVScnU42nqsB2eM,4374
32
- hpcflow/sdk/core/utils.py,sha256=kBImOFhVWsq2DCpfeC5nJ691E-znxiyZ0D3iC-EKCP8,13595
32
+ hpcflow/sdk/core/utils.py,sha256=CDtPtKMVDYoNw1wkIcMbqw_MJ3gsZjYMHTJR5kG1PME,16941
33
33
  hpcflow/sdk/core/validation.py,sha256=LIgQ7RH5kgMzdZjOFHQ3PXM1R-_QBdIajzLdoXtfFrc,518
34
- hpcflow/sdk/core/workflow.py,sha256=GuTmo_s1P_uRx3wqbI3U6EIPMt_gqPdtQwfGMtXtI9A,60756
34
+ hpcflow/sdk/core/workflow.py,sha256=uAmZ723a8gEETXR1pVXXOFoTKVK9X3Ou_R6DVdyItw4,71161
35
35
  hpcflow/sdk/core/zarr_io.py,sha256=V_Zm6uSiuaCbXyHFJUO74K1pAr4Zqrj3aLCBjohCwvs,5724
36
36
  hpcflow/sdk/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  hpcflow/sdk/data/config_file_schema.yaml,sha256=tSHZ_RrFWTP4x14Ft0wVD_TzF8ekxvIDgcorydE0AuU,720
@@ -42,9 +42,9 @@ hpcflow/sdk/data/parameters_spec_schema.yaml,sha256=Wj7CvG7Ul1nZDtBca-oxeFH_aSZk
42
42
  hpcflow/sdk/data/task_schema_spec_schema.yaml,sha256=6NROg7x-493bdvRwvY4M71R7POT-tNnmROkEsnnoL4k,93
43
43
  hpcflow/sdk/data/template_components/__init__.py,sha256=qv0IzZGQho4aBR2eld5rNFiYlb8nDcTvkAwa982jDWs,83
44
44
  hpcflow/sdk/data/template_components/command_files.yaml,sha256=9y82MoHkn6Vgi8V_SQgCWTLm09h5SlfbD8InRoJB3Qo,356
45
- hpcflow/sdk/data/template_components/environments.yaml,sha256=35P0llBwaG2P1FOtsFJku3on2r5BKIX-8ePYVbGXIR8,938
45
+ hpcflow/sdk/data/template_components/environments.yaml,sha256=efC7ze9fxG5Ti_Qew4Lcg_xrv-r-O7WOttIyIhXw3jI,17
46
46
  hpcflow/sdk/data/template_components/parameters.yaml,sha256=2gM1j9aYZG0lDahrOeZ6V2in7CcIbHXOTbWC-UMMWz4,199
47
- hpcflow/sdk/data/template_components/task_schemas.yaml,sha256=q1jKA0FQD7Fyv5wKDCELXgT7y3VLcH-jYfo0E0gwbMA,1601
47
+ hpcflow/sdk/data/template_components/task_schemas.yaml,sha256=hf0_oU7Kby_kiD-jKba0L8cujhuAzpSc4Sec28itRbE,2526
48
48
  hpcflow/sdk/data/workflow_spec_schema.yaml,sha256=LLUV6RsdgT2BQrEPNKLCUB5Uijt9wxT9Bac2PLyGha8,1797
49
49
  hpcflow/sdk/demo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
50
  hpcflow/sdk/demo/cli.py,sha256=1BRfzrBrGlZtTM-rANqEtGOqvcSj792iFl0s4oR4UIU,1756
@@ -59,42 +59,46 @@ hpcflow/sdk/helper/cli.py,sha256=QPVvhXEtY3n87ua_6eBh-osaQeEBgG7g7kUR4jghqtI,349
59
59
  hpcflow/sdk/helper/helper.py,sha256=MDLREC5jTnLsmrVmz1ZukCzbmJgXhgjZCRKmB2tIn9k,8450
60
60
  hpcflow/sdk/helper/watcher.py,sha256=hLqgwXtZw-6ihNUUcWYnZw8TCyD_AdhYE7abOrO2r_0,4003
61
61
  hpcflow/sdk/log.py,sha256=TrpoEfG6Qx9UV7UjC6777jnyz_CWd7-qYDUjtjRNzhE,1537
62
- hpcflow/sdk/persistence/__init__.py,sha256=9Dzc99dqPtNKpHllCRdTDTd00DZ6KpgqxMjex9GgMRU,1395
63
- hpcflow/sdk/persistence/base.py,sha256=D4_tlRxbcA6n5yJHmk_W--cYsN0C_JAP-JAz68-sSo0,21743
64
- hpcflow/sdk/persistence/json.py,sha256=pzfRN4aXiW64iQxXToKnM4mQdyvd7xP0rC96Dqtso_w,23689
65
- hpcflow/sdk/persistence/zarr.py,sha256=Grd9JywmHmKpnSm05F79wNLH7e2G49Px0cyOccNBa-A,40081
62
+ hpcflow/sdk/persistence/__init__.py,sha256=CqSkXsN4bdhZ4G8YPBzf8iX0M4-yEIoUwv2ZggCi0r4,904
63
+ hpcflow/sdk/persistence/base.py,sha256=6ClBQmvGhIMoR1vMy9JOMOY11_6gS28uoPpDEHPOJIo,52549
64
+ hpcflow/sdk/persistence/json.py,sha256=IgEtx-NCknqbJEmSepUMJRiGE-cWXguNs2_IArKVfmk,19850
65
+ hpcflow/sdk/persistence/pending.py,sha256=8UIwdGF7bTvKXIr3Xd7S6RjxWJ8SdRfbm6eOhhrikmY,23020
66
+ hpcflow/sdk/persistence/store_resource.py,sha256=oEyocRqa8Uym-57UFosrwate-Xw9O7i2FM82TxHc4m0,4307
67
+ hpcflow/sdk/persistence/utils.py,sha256=Yu7hvASvMSLaTXBflpOEbITe8rlh5vuJF4y_252SX60,1366
68
+ hpcflow/sdk/persistence/zarr.py,sha256=9ewEwAbgAoRRLGRpMDIZmaTmsbLQ7o802N0HdYL1uzU,37759
66
69
  hpcflow/sdk/runtime.py,sha256=cXBWN-hCWG9asREqq3bB5tqLa_tPom9kJWVb_ERief4,6826
67
70
  hpcflow/sdk/scripting/__init__.py,sha256=9RBz9rrf2QWU6Ayxx7LRtaDQEaqTbjRmXuHPhg4h020,110
68
71
  hpcflow/sdk/submission/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
- hpcflow/sdk/submission/jobscript.py,sha256=ASLRqIlAqg_6PCslqdc5yk0DLz9PSiISm6dy50Onloo,30968
72
+ hpcflow/sdk/submission/jobscript.py,sha256=e2oiuD8hwpD3iSy0jiRJp9GV2iO9p_K-oSJe7j292ME,31772
70
73
  hpcflow/sdk/submission/schedulers/__init__.py,sha256=AUnwoi3zCbiolcEG9XHLHMA3oBn02JaHiyX8sPNoOh4,1668
71
74
  hpcflow/sdk/submission/schedulers/direct.py,sha256=wlQyxWFsT2KsM2vG5Tgl81x74TQ1RYIlrq-Ir4Xk6jQ,451
72
75
  hpcflow/sdk/submission/schedulers/sge.py,sha256=mac5_ynR-ufL1mBctbfu6207uUmcpYEtbzC__yKWi20,3451
73
76
  hpcflow/sdk/submission/schedulers/slurm.py,sha256=BgamKYB_822wmWHVPBzkSaUuE1ydWMdo9kXtpgmwB44,3926
74
77
  hpcflow/sdk/submission/shells/__init__.py,sha256=q5Tpm6gxAHhIw-WjBe8Ojqbc0A_UJMO-W68-2deHB0U,1008
75
78
  hpcflow/sdk/submission/shells/base.py,sha256=P2MjfHlOtTiV-ouM1UUhDCEcq412JBglDxKEOvuhC3A,1645
76
- hpcflow/sdk/submission/shells/bash.py,sha256=r8WgEoTdY1sZbIWwK001UY6BgiEc5o5NcmUcUWh3UPc,7813
79
+ hpcflow/sdk/submission/shells/bash.py,sha256=RT4WjN7fc3FlX37gt1DMnb3sexOTENygxY6-P1_msqU,9370
77
80
  hpcflow/sdk/submission/shells/os_version.py,sha256=o185IsrF6JsBMr9bZU99ZrDguH342DeHWeclUuNrgeU,3182
78
- hpcflow/sdk/submission/shells/powershell.py,sha256=aUR43LcvgPdCdh_8dOmmwTmRaFn0CkVFKdDlmOI5SZI,4577
79
- hpcflow/sdk/submission/submission.py,sha256=74n2bjDBQd_upNlHbo0GveCt1OnWfdCBLQJ6JFUei0A,10667
81
+ hpcflow/sdk/submission/shells/powershell.py,sha256=mRg9L_vSWVU37P4jDEoemicF4g6NnuyryEfOo2RTj8k,7078
82
+ hpcflow/sdk/submission/submission.py,sha256=R5Ubk5UeOsmdMSSMtlugI_XLSeTLpcGMc7c1yb56ARk,11545
80
83
  hpcflow/sdk/typing.py,sha256=p1duIXcWh5FRNZIGUjsTcnqjGDg2-nCpfNicrut-VPk,327
81
84
  hpcflow/tests/unit/test_action.py,sha256=uYYp76Z7lcSW3APddJ4jnDhgvBxmP_2-RoUE2ZtjDkA,5073
82
85
  hpcflow/tests/unit/test_app.py,sha256=HfgMsC_KsU0yhgOR-nx0DvNDELSeqOJkm4F9RnOX8Bc,3099
83
86
  hpcflow/tests/unit/test_cli.py,sha256=9oQZOlX0z5LC4e2JFLuIgGnUXgmR2RCAtbXR5XRwqJs,288
84
- hpcflow/tests/unit/test_element.py,sha256=gx8Y-8A-gsmo5_evyU3zI1AH25jgtPGEZaPVK4XWYJg,1723
87
+ hpcflow/tests/unit/test_element.py,sha256=Vq4sW2ioYRGTw1u2O1p765OlbnzxPdfJTYIwYn2ZCJU,1572
85
88
  hpcflow/tests/unit/test_element_set.py,sha256=VPH5rtoSoDgJV33L48qD7IQAS1PWR4oD3KbKVsTlZ7Q,1082
86
89
  hpcflow/tests/unit/test_input_source.py,sha256=e-C1UX7MlA-4bXVi8lHRkDhzrywH6ReSlqf_P5uyXQ0,9607
87
90
  hpcflow/tests/unit/test_input_value.py,sha256=MqaD_hC_CA77qq_6tcXAs7IMPr1ohledR9icIoN9dck,3053
88
91
  hpcflow/tests/unit/test_json_like.py,sha256=SiCOOAH2uDvL63yjWVbKx5DNXEuWbdSPZIObSx9fMv8,29410
89
92
  hpcflow/tests/unit/test_loop.py,sha256=QvGIz5svGf4aEUiQB2mXMLIDraHGHO0KJ2K-tueoKR8,8615
90
93
  hpcflow/tests/unit/test_object_list.py,sha256=Wygp6f4rdmWaeVofeW8err0hvNqhryPisyb_UHWfaBQ,2008
94
+ hpcflow/tests/unit/test_persistence.py,sha256=ZUJLt_Il9PjMqDKw1TWlOwzYGGNIaqL-SnxyIgP4AdY,7422
91
95
  hpcflow/tests/unit/test_submission.py,sha256=C7qPYVou_OiL0Jfk5cebyB5ov0OXaKRsg0byIKLDSaE,5632
92
- hpcflow/tests/unit/test_task.py,sha256=ljQa7ME8FPHEb79Sz4E_Tod4xKKaV3TylDC8EEIFHlI,46032
96
+ hpcflow/tests/unit/test_task.py,sha256=zEa1r2n6RFft3SkkMElMPI9kQWqzjzP_lzjoms9MNGc,45892
93
97
  hpcflow/tests/unit/test_task_schema.py,sha256=7a7o42gQhrZPMXfH0a6sGzFCJnuFrbDEl9u3u_bFsgw,3624
94
- hpcflow/tests/unit/test_utils.py,sha256=zXEy6AkQnEQjr7Z_fIHRxDO7Rsj40dupxG7AUWTWkps,9033
95
- hpcflow/tests/unit/test_workflow.py,sha256=-D1nHEO6HDqbtwYjVESrsMos8m8dI2FEUUrINH-Hhzc,7892
98
+ hpcflow/tests/unit/test_utils.py,sha256=C-0rd7-gEZY_TJItJcSdN1TVPuHsOUfVfl0NscFRg8I,11200
99
+ hpcflow/tests/unit/test_workflow.py,sha256=L6CwJmUsslUr8IleLZfoWWpf5-UL-1Rg5Y-UB6qpa8Y,8020
96
100
  hpcflow/viz_demo.ipynb,sha256=1QdnVsk72vihv2L6hOGyk318uEa22ZSgGxQCa7hW2oo,6238
97
- hpcflow_new2-0.2.0a50.dist-info/METADATA,sha256=aM4NKHikyUbO7quwkWBs7uZJecGW788DuEtXJ9oMybU,1721
98
- hpcflow_new2-0.2.0a50.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
99
- hpcflow_new2-0.2.0a50.dist-info/entry_points.txt,sha256=aoGtCnFdfPcXfBdu2zZyMOJoz6fPgdR0elqsgrE-USU,106
100
- hpcflow_new2-0.2.0a50.dist-info/RECORD,,
101
+ hpcflow_new2-0.2.0a52.dist-info/METADATA,sha256=gvpllw5n9AlDVn1q3EwXVDc9y4iLSlQ4rzfhWqxlCn8,1802
102
+ hpcflow_new2-0.2.0a52.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
103
+ hpcflow_new2-0.2.0a52.dist-info/entry_points.txt,sha256=aoGtCnFdfPcXfBdu2zZyMOJoz6fPgdR0elqsgrE-USU,106
104
+ hpcflow_new2-0.2.0a52.dist-info/RECORD,,