parsl 2024.4.8__py3-none-any.whl → 2024.4.22__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 (53) hide show
  1. parsl/addresses.py +2 -2
  2. parsl/app/bash.py +10 -2
  3. parsl/app/errors.py +3 -5
  4. parsl/data_provider/data_manager.py +2 -1
  5. parsl/data_provider/zip.py +104 -0
  6. parsl/dataflow/dflow.py +92 -43
  7. parsl/dataflow/futures.py +26 -12
  8. parsl/executors/base.py +28 -9
  9. parsl/executors/high_throughput/executor.py +14 -19
  10. parsl/executors/high_throughput/process_worker_pool.py +3 -1
  11. parsl/executors/status_handling.py +81 -1
  12. parsl/executors/taskvine/executor.py +13 -2
  13. parsl/executors/workqueue/executor.py +14 -3
  14. parsl/jobs/job_status_poller.py +19 -113
  15. parsl/jobs/strategy.py +22 -27
  16. parsl/monitoring/monitoring.py +29 -23
  17. parsl/monitoring/radios.py +15 -0
  18. parsl/monitoring/router.py +7 -6
  19. parsl/providers/local/local.py +1 -1
  20. parsl/tests/configs/htex_local_alternate.py +2 -1
  21. parsl/tests/configs/taskvine_ex.py +1 -2
  22. parsl/tests/configs/workqueue_ex.py +1 -2
  23. parsl/tests/conftest.py +6 -7
  24. parsl/tests/test_bash_apps/test_basic.py +7 -4
  25. parsl/tests/test_bash_apps/test_error_codes.py +0 -3
  26. parsl/tests/test_bash_apps/test_kwarg_storage.py +0 -1
  27. parsl/tests/test_bash_apps/test_memoize.py +0 -2
  28. parsl/tests/test_bash_apps/test_memoize_ignore_args.py +0 -1
  29. parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py +0 -1
  30. parsl/tests/test_bash_apps/test_multiline.py +0 -1
  31. parsl/tests/test_bash_apps/test_stdout.py +11 -6
  32. parsl/tests/test_checkpointing/test_task_exit.py +1 -1
  33. parsl/tests/test_htex/test_zmq_binding.py +1 -0
  34. parsl/tests/test_monitoring/test_basic.py +46 -21
  35. parsl/tests/test_monitoring/test_fuzz_zmq.py +10 -1
  36. parsl/tests/test_monitoring/test_stdouterr.py +137 -0
  37. parsl/tests/test_python_apps/test_context_manager.py +3 -3
  38. parsl/tests/test_python_apps/test_outputs.py +0 -1
  39. parsl/tests/test_scaling/test_regression_1621.py +11 -11
  40. parsl/tests/test_scaling/test_scale_down_htex_unregistered.py +74 -0
  41. parsl/tests/test_staging/test_staging_stdout.py +61 -0
  42. parsl/tests/test_staging/test_zip_out.py +113 -0
  43. parsl/utils.py +11 -2
  44. parsl/version.py +1 -1
  45. {parsl-2024.4.8.data → parsl-2024.4.22.data}/scripts/process_worker_pool.py +3 -1
  46. {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/METADATA +5 -4
  47. {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/RECORD +53 -48
  48. {parsl-2024.4.8.data → parsl-2024.4.22.data}/scripts/exec_parsl_function.py +0 -0
  49. {parsl-2024.4.8.data → parsl-2024.4.22.data}/scripts/parsl_coprocess.py +0 -0
  50. {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/LICENSE +0 -0
  51. {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/WHEEL +0 -0
  52. {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/entry_points.txt +0 -0
  53. {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,74 @@
1
+ import logging
2
+ import time
3
+
4
+ import pytest
5
+
6
+ import parsl
7
+
8
+ from parsl import File, python_app
9
+ from parsl.jobs.states import JobState, TERMINAL_STATES
10
+ from parsl.providers import LocalProvider
11
+ from parsl.channels import LocalChannel
12
+ from parsl.launchers import SingleNodeLauncher
13
+ from parsl.config import Config
14
+ from parsl.executors import HighThroughputExecutor
15
+
16
+ logger = logging.getLogger(__name__)
17
+
18
+ _max_blocks = 1
19
+ _min_blocks = 0
20
+
21
+
22
+ def local_config():
23
+ return Config(
24
+ executors=[
25
+ HighThroughputExecutor(
26
+ heartbeat_period=1,
27
+ heartbeat_threshold=2,
28
+ poll_period=100,
29
+ label="htex_local",
30
+ address="127.0.0.1",
31
+ max_workers=1,
32
+ encrypted=True,
33
+ launch_cmd="sleep inf",
34
+ provider=LocalProvider(
35
+ channel=LocalChannel(),
36
+ init_blocks=1,
37
+ max_blocks=_max_blocks,
38
+ min_blocks=_min_blocks,
39
+ launcher=SingleNodeLauncher(),
40
+ ),
41
+ )
42
+ ],
43
+ max_idletime=0.5,
44
+ strategy='htex_auto_scale',
45
+ strategy_period=0.1
46
+ )
47
+
48
+
49
+ # see issue #1885 for details of failures of this test.
50
+ # at the time of issue #1885 this test was failing frequently
51
+ # in CI.
52
+ @pytest.mark.local
53
+ def test_scaledown_with_register(try_assert):
54
+ dfk = parsl.dfk()
55
+ htex = dfk.executors['htex_local']
56
+
57
+ num_managers = len(htex.connected_managers())
58
+ assert num_managers == 0, "Expected 0 managers at start"
59
+
60
+ try_assert(lambda: len(htex.status()),
61
+ fail_msg="Expected 1 block at start")
62
+
63
+ s = htex.status()
64
+ assert s['0'].state == JobState.RUNNING, "Expected block to be in RUNNING"
65
+
66
+ def check_zero_blocks():
67
+ s = htex.status()
68
+ return len(s) == 1 and s['0'].state in TERMINAL_STATES
69
+
70
+ try_assert(
71
+ check_zero_blocks,
72
+ fail_msg="Expected 0 blocks after idle scaledown",
73
+ timeout_ms=15000,
74
+ )
@@ -0,0 +1,61 @@
1
+ import logging
2
+ import os
3
+ import parsl
4
+ import pytest
5
+ import zipfile
6
+
7
+ from parsl.app.futures import DataFuture
8
+ from parsl.tests.configs.htex_local import fresh_config as local_config
9
+ from parsl.data_provider.files import File
10
+
11
+
12
+ @parsl.bash_app
13
+ def output_to_stds(*, stdout=parsl.AUTO_LOGNAME, stderr=parsl.AUTO_LOGNAME):
14
+ return "echo hello ; echo goodbye >&2"
15
+
16
+
17
+ def test_stdout_staging_file(tmpd_cwd, caplog):
18
+ basename = str(tmpd_cwd) + "/stdout.txt"
19
+ stdout_file = File("file://" + basename)
20
+
21
+ app_future = output_to_stds(stdout=stdout_file)
22
+
23
+ assert isinstance(app_future.stdout, DataFuture)
24
+ app_future.stdout.result()
25
+
26
+ assert os.path.exists(basename)
27
+
28
+ for record in caplog.records:
29
+ assert record.levelno < logging.ERROR
30
+
31
+
32
+ def test_stdout_stderr_staging_zip(tmpd_cwd, caplog):
33
+ zipfile_name = str(tmpd_cwd) + "/staging.zip"
34
+ stdout_relative_path = "somewhere/test-out.txt"
35
+ stdout_file = File("zip:" + zipfile_name + "/" + stdout_relative_path)
36
+
37
+ stderr_relative_path = "somewhere/test-error.txt"
38
+ stderr_file = File("zip:" + zipfile_name + "/" + stderr_relative_path)
39
+
40
+ app_future = output_to_stds(stdout=stdout_file, stderr=stderr_file)
41
+
42
+ assert isinstance(app_future.stdout, DataFuture)
43
+ app_future.stdout.result()
44
+
45
+ # check the file exists as soon as possible
46
+ assert os.path.exists(zipfile_name)
47
+ with zipfile.ZipFile(zipfile_name) as z:
48
+ with z.open(stdout_relative_path) as f:
49
+ assert f.readlines() == [b'hello\n']
50
+
51
+ assert isinstance(app_future.stderr, DataFuture)
52
+ app_future.stderr.result()
53
+ with zipfile.ZipFile(zipfile_name) as z:
54
+ with z.open(stderr_relative_path) as f:
55
+ # The last line of stderr should be goodbye, but Parsl will write
56
+ # other Parsl-specific into to stderr before that, so only assert
57
+ # the behaviour of the final line.
58
+ assert f.readlines()[-1] == b'goodbye\n'
59
+
60
+ for record in caplog.records:
61
+ assert record.levelno < logging.ERROR
@@ -0,0 +1,113 @@
1
+ import parsl
2
+ import pytest
3
+ import zipfile
4
+
5
+ from parsl.data_provider.files import File
6
+ from parsl.data_provider.data_manager import default_staging
7
+ from parsl.data_provider.zip import ZipAuthorityError, ZipFileStaging
8
+
9
+ from parsl.providers import LocalProvider
10
+ from parsl.channels import LocalChannel
11
+ from parsl.launchers import SimpleLauncher
12
+
13
+ from parsl.config import Config
14
+ from parsl.executors import HighThroughputExecutor
15
+
16
+ from parsl.tests.configs.htex_local import fresh_config as local_config
17
+
18
+
19
+ @pytest.mark.local
20
+ def test_zip_path_split():
21
+ from parsl.data_provider.zip import zip_path_split
22
+ assert zip_path_split("/tmp/foo/this.zip/inside/here.txt") == ("/tmp/foo/this.zip", "inside/here.txt")
23
+
24
+
25
+ @parsl.bash_app
26
+ def output_something(outputs=()):
27
+ """This should output something into every specified output file:
28
+ the position in the output sequence will be written into the
29
+ corresponding output file.
30
+ """
31
+ cmds = []
32
+ for n in range(len(outputs)):
33
+ cmds.append(f"echo {n} > {outputs[n]}")
34
+
35
+ return "; ".join(cmds)
36
+
37
+
38
+ @pytest.mark.local
39
+ def test_zip_out(tmpd_cwd):
40
+ # basic test of zip file stage-out
41
+ zip_path = tmpd_cwd / "container.zip"
42
+ file_base = "data.txt"
43
+ of = File(f"zip:{zip_path / file_base}")
44
+
45
+ app_future = output_something(outputs=[of])
46
+ output_file_future = app_future.outputs[0]
47
+
48
+ app_future.result()
49
+ output_file_future.result()
50
+
51
+ assert zipfile.is_zipfile(zip_path)
52
+
53
+ with zipfile.ZipFile(zip_path) as z:
54
+ assert file_base in z.namelist()
55
+ assert len(z.namelist()) == 1
56
+ with z.open(file_base) as f:
57
+ assert f.readlines() == [b'0\n']
58
+
59
+
60
+ @pytest.mark.local
61
+ def test_zip_out_multi(tmpd_cwd):
62
+ # tests multiple files, multiple zip files and multiple
63
+ # sub-paths
64
+
65
+ zip_path_1 = tmpd_cwd / "container1.zip"
66
+ zip_path_2 = tmpd_cwd / "container2.zip"
67
+
68
+ relative_file_path_1 = "a/b/c/data.txt"
69
+ relative_file_path_2 = "something.txt"
70
+ relative_file_path_3 = "a/d/other.txt"
71
+ of1 = File(f"zip:{zip_path_1 / relative_file_path_1}")
72
+ of2 = File(f"zip:{zip_path_1 / relative_file_path_2}")
73
+ of3 = File(f"zip:{zip_path_2 / relative_file_path_3}")
74
+
75
+ app_future = output_something(outputs=[of1, of2, of3])
76
+
77
+ for f in app_future.outputs:
78
+ f.result()
79
+
80
+ app_future.result()
81
+
82
+ assert zipfile.is_zipfile(zip_path_1)
83
+
84
+ with zipfile.ZipFile(zip_path_1) as z:
85
+ assert relative_file_path_1 in z.namelist()
86
+ assert relative_file_path_2 in z.namelist()
87
+ assert len(z.namelist()) == 2
88
+ with z.open(relative_file_path_1) as f:
89
+ assert f.readlines() == [b'0\n']
90
+ with z.open(relative_file_path_2) as f:
91
+ assert f.readlines() == [b'1\n']
92
+
93
+ assert zipfile.is_zipfile(zip_path_2)
94
+
95
+ with zipfile.ZipFile(zip_path_2) as z:
96
+ assert relative_file_path_3 in z.namelist()
97
+ assert len(z.namelist()) == 1
98
+ with z.open(relative_file_path_3) as f:
99
+ assert f.readlines() == [b'2\n']
100
+
101
+
102
+ @pytest.mark.local
103
+ def test_zip_bad_authority(tmpd_cwd):
104
+ # tests that there's an exception when staging a ZIP url with an authority
105
+ # section specified, rather than silently ignoring it. This simulates a
106
+ # user who misunderstands what that piece of what a zip: URL means.
107
+
108
+ zip_path = tmpd_cwd / "container.zip"
109
+ file_base = "data.txt"
110
+ of = File(f"zip://someauthority/{zip_path / file_base}")
111
+
112
+ with pytest.raises(ZipAuthorityError):
113
+ output_something(outputs=[of])
parsl/utils.py CHANGED
@@ -13,6 +13,7 @@ import typeguard
13
13
  from typing_extensions import Type
14
14
 
15
15
  import parsl
16
+ from parsl.app.errors import BadStdStreamFile
16
17
  from parsl.version import VERSION
17
18
 
18
19
 
@@ -121,9 +122,17 @@ def get_std_fname_mode(
121
122
  if len(stdfspec) != 2:
122
123
  msg = (f"std descriptor {fdname} has incorrect tuple length "
123
124
  f"{len(stdfspec)}")
124
- raise pe.BadStdStreamFile(msg, TypeError('Bad Tuple Length'))
125
+ raise pe.BadStdStreamFile(msg)
125
126
  fname, mode = stdfspec
126
- return str(fname), mode
127
+
128
+ path = os.fspath(fname)
129
+
130
+ if isinstance(path, str):
131
+ return path, mode
132
+ elif isinstance(path, bytes):
133
+ return path.decode(), mode
134
+ else:
135
+ raise BadStdStreamFile(f"fname has invalid type {type(path)}")
127
136
 
128
137
 
129
138
  @contextmanager
parsl/version.py CHANGED
@@ -3,4 +3,4 @@
3
3
  Year.Month.Day[alpha/beta/..]
4
4
  Alphas will be numbered like this -> 2024.12.10a0
5
5
  """
6
- VERSION = '2024.04.08'
6
+ VERSION = '2024.04.22'
@@ -361,7 +361,9 @@ class Manager:
361
361
  kill_event.set()
362
362
  else:
363
363
  task_recv_counter += len(tasks)
364
- logger.debug("Got executor tasks: {}, cumulative count of tasks: {}".format([t['task_id'] for t in tasks], task_recv_counter))
364
+ logger.debug("Got executor tasks: {}, cumulative count of tasks: {}".format(
365
+ [t['task_id'] for t in tasks], task_recv_counter
366
+ ))
365
367
 
366
368
  for task in tasks:
367
369
  self.task_scheduler.put_task(task)
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsl
3
- Version: 2024.4.8
3
+ Version: 2024.4.22
4
4
  Summary: Simple data dependent workflows in Python
5
5
  Home-page: https://github.com/Parsl/parsl
6
- Download-URL: https://github.com/Parsl/parsl/archive/2024.04.08.tar.gz
6
+ Download-URL: https://github.com/Parsl/parsl/archive/2024.04.22.tar.gz
7
7
  Author: The Parsl Team
8
8
  Author-email: parsl@googlegroups.com
9
9
  License: Apache 2.0
@@ -28,6 +28,7 @@ Requires-Dist: requests
28
28
  Requires-Dist: paramiko
29
29
  Requires-Dist: psutil >=5.5.1
30
30
  Requires-Dist: setproctitle
31
+ Requires-Dist: filelock <4,>=3.13
31
32
  Provides-Extra: all
32
33
  Requires-Dist: sqlalchemy <2,>=1.4 ; extra == 'all'
33
34
  Requires-Dist: pydot ; extra == 'all'
@@ -54,7 +55,7 @@ Requires-Dist: pyyaml ; extra == 'all'
54
55
  Requires-Dist: cffi ; extra == 'all'
55
56
  Requires-Dist: jsonschema ; extra == 'all'
56
57
  Requires-Dist: proxystore ; extra == 'all'
57
- Requires-Dist: radical.pilot ==1.47 ; extra == 'all'
58
+ Requires-Dist: radical.pilot ==1.52.1 ; extra == 'all'
58
59
  Provides-Extra: aws
59
60
  Requires-Dist: boto3 ; extra == 'aws'
60
61
  Provides-Extra: azure
@@ -83,7 +84,7 @@ Requires-Dist: oauth-ssh >=0.9 ; extra == 'oauth_ssh'
83
84
  Provides-Extra: proxystore
84
85
  Requires-Dist: proxystore ; extra == 'proxystore'
85
86
  Provides-Extra: radical-pilot
86
- Requires-Dist: radical.pilot ==1.47 ; extra == 'radical-pilot'
87
+ Requires-Dist: radical.pilot ==1.52.1 ; extra == 'radical-pilot'
87
88
  Provides-Extra: visualization
88
89
  Requires-Dist: pydot ; extra == 'visualization'
89
90
  Requires-Dist: networkx <2.6,>=2.5 ; extra == 'visualization'
@@ -1,5 +1,5 @@
1
1
  parsl/__init__.py,sha256=hq8rJmP59wzd9-yxaGcmq5gPpshOopH-Y1K0BkUBNY0,1843
2
- parsl/addresses.py,sha256=mO4u1kVxAnBHHIIUyqdzsOxT9aUsGeBP5PfAPkz3sug,4819
2
+ parsl/addresses.py,sha256=0wPo-4HjW0l4ndqCKLmSdbbSWE_3WK7pxRvqBEp-3Lk,4821
3
3
  parsl/config.py,sha256=E90pKPeagHpIdk9XYifHqSpTAaKdDQN59NPDi8PrTAc,7038
4
4
  parsl/curvezmq.py,sha256=FtZEYP1IWDry39cH-tOKUm9TnaR1U7krOmvVYpATcOk,6939
5
5
  parsl/errors.py,sha256=SzINzQFZDBDbj9l-DPQznD0TbGkNhHIRAPkcBCogf_A,1019
@@ -7,12 +7,12 @@ parsl/log_utils.py,sha256=Ckeb7YiIoK0FA8dA5CsWJDe28i9Sf4sxhFwp__VsD3o,3274
7
7
  parsl/multiprocessing.py,sha256=hakfdg-sgxEjwloZeDrt6EhzwdzecvjJhkPHHxh8lII,1938
8
8
  parsl/process_loggers.py,sha256=1G3Rfrh5wuZNo2X03grG4kTYPGOxz7hHCyG6L_A3b0A,1137
9
9
  parsl/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- parsl/utils.py,sha256=A3WDMGaNB4ajVx_jCuc-74W6PFy4zswJy-pLE7u8Dz0,10979
11
- parsl/version.py,sha256=ahe277o-2uHeGXWS6lLdiHiTpTRqrLfBk6sTJtXZeNQ,131
10
+ parsl/utils.py,sha256=DUPrl9ZdzwJzz2rmlRws77OMs43iQo_CT-Kr3uJs-fo,11202
11
+ parsl/version.py,sha256=gYdglqtXYC99qyF-3eJE7_3lJq1gYemHXeDA1r1F6Cc,131
12
12
  parsl/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  parsl/app/app.py,sha256=wAHchJetgnicT1pn0NJKDeDX0lV3vDFlG8cQd_Ciax4,8522
14
- parsl/app/bash.py,sha256=bx9x1XFwkOTpZZD3CPwnVL9SyNRDjbUGtOnuGLvxN_8,5396
15
- parsl/app/errors.py,sha256=M5QdCEohov14A99cLHP41tn6T5JczxmX-WJGYfwPDWE,4039
14
+ parsl/app/bash.py,sha256=VufxGROrlJB3dP03syNutU0x8rLzfI-gooWwBZ4FFQ8,5676
15
+ parsl/app/errors.py,sha256=H0n-5kNMwl71cPJ7bkeHwBegCg639Z6be6ROvY0USg0,3915
16
16
  parsl/app/futures.py,sha256=42UucIjKLJyRkg59BH-Pg_Q9Iue2Y-LSDi6g8q_cKzo,2910
17
17
  parsl/app/python.py,sha256=qzVq7aXu3ZQGsMdQGDDYov_AP7ChvUT00peqIM93XXA,2330
18
18
  parsl/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -51,7 +51,7 @@ parsl/configs/toss3_llnl.py,sha256=9VAqKpDvwTSlvDXFw2gSI9ViVv0jJbr1cPBTnCGZlp4,9
51
51
  parsl/configs/vineex_local.py,sha256=0BkxSSsTMkvKpGmQplXW-59qsvHYjdhN5TGyIOfHm6s,695
52
52
  parsl/configs/wqex_local.py,sha256=QocsrCKR94agZndabH7vX3NTGLqx_y126Wgmo-17xNs,794
53
53
  parsl/data_provider/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- parsl/data_provider/data_manager.py,sha256=ih_IUVb5mzW2TTpvt5mRCX7c_HEGx4wtoU9PVfxGhTg,7250
54
+ parsl/data_provider/data_manager.py,sha256=VLCk1wmyMCaATdZS2WK9s9TCXistBj3G1ILKvKhqhKQ,7319
55
55
  parsl/data_provider/file_noop.py,sha256=Swv2iDQZQX_1HRaYKz22BSOeXvq5PxujuS80zdBlrSA,499
56
56
  parsl/data_provider/files.py,sha256=tQ5vCCF9pePf-5fGtH-Ndo6pjJNQYIMk3S3gtSgML1A,3268
57
57
  parsl/data_provider/ftp.py,sha256=kpQ82GmPOQVuZu_SLT-RkqUXhQBFzZN5puVk0daeGF4,2759
@@ -59,18 +59,19 @@ parsl/data_provider/globus.py,sha256=ss7R8XD64mR3p-y9lxNAb11rymiOlxI1hQzkPEW51ZI
59
59
  parsl/data_provider/http.py,sha256=nDHTW7XmJqAukWJjPRQjyhUXt8r6GsQ36mX9mv_wOig,2986
60
60
  parsl/data_provider/rsync.py,sha256=2-ZxqrT-hBj39x082NusJaBqsGW4Jd2qCW6JkVPpEl0,4254
61
61
  parsl/data_provider/staging.py,sha256=l-mAXFburs3BWPjkSmiQKuAgJpsxCG62yATPDbrafYI,4523
62
+ parsl/data_provider/zip.py,sha256=qzsSpHYp3EUqS3LOaPiZPitr_9zu6oGybVaFOApVbuY,3348
62
63
  parsl/dataflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- parsl/dataflow/dflow.py,sha256=FRsenqapR1uRR_6YU8bjqsENyTDMF7I9PftzLopOVzY,63254
64
+ parsl/dataflow/dflow.py,sha256=2l8UCQ1m30cK3vxerUG5Ahzy_nthO_wU0280hUw3igw,65633
64
65
  parsl/dataflow/errors.py,sha256=w2vOt_ymzG2dOqJUO4IDcmTlrCIHlMZL8nBVyVq0O_8,2176
65
- parsl/dataflow/futures.py,sha256=aVfEUTzp4-EdunDAtNcqVQf8l_A7ArDi2c82KZMwxfY,5256
66
+ parsl/dataflow/futures.py,sha256=XGgaoaT3N2U3vvZ7DEoLkGBrZscq_VzffZ9goLB87ko,6081
66
67
  parsl/dataflow/memoization.py,sha256=AsJO6c6cRp2ac6H8uGn2USlEi78_nX3QWvpxYt4XdYE,9583
67
68
  parsl/dataflow/rundirs.py,sha256=XKmBZpBEIsGACBhYOkbbs2e5edC0pQegJcSlk4FWeag,1154
68
69
  parsl/dataflow/states.py,sha256=hV6mfv-y4A6xrujeQglcomnfEs7y3Xm2g6JFwC6dvgQ,2612
69
70
  parsl/dataflow/taskrecord.py,sha256=bzIBmlDTsRrELtB9PUQwxTWcwrCd8aMsUAzvijle1eo,3114
70
71
  parsl/executors/__init__.py,sha256=J50N97Nm9YRjz6K0oNXDxUYIsDjL43_tp3LVb2w7n-M,381
71
- parsl/executors/base.py,sha256=AFX7AlMbOoXaImrttO74vhNWhbJwu41JFS5EaWPl8fg,4559
72
+ parsl/executors/base.py,sha256=Kvui8yDPzz7yQpm9qSkMdhQS4eu0tQTkVZ99j6HGgA4,5087
72
73
  parsl/executors/errors.py,sha256=xVswxgi7vmJcUMCeYDAPK8sQT2kHFFROVoOr0dnmcWE,2098
73
- parsl/executors/status_handling.py,sha256=8G0QBkcB271bR_UMTUh9lHE3EguMKQNdcQ8BrSR8Cwg,10322
74
+ parsl/executors/status_handling.py,sha256=3kJAbgXSZbbj8uN72Gu08PSUnxMrT5np1I-ihLyM6E8,13631
74
75
  parsl/executors/threads.py,sha256=bMU3JFghm17Lpcua13pr3NgQhkUDDc2mqvF2yJBrVNQ,3353
75
76
  parsl/executors/flux/__init__.py,sha256=P9grTTeRPXfqXurFhlSS7XhmE6tTbnCnyQ1f9b-oYHE,136
76
77
  parsl/executors/flux/execute_parsl_task.py,sha256=yUG_WjZLcX8LrgPl26mpEBWZhQMlVNbRLGu08yIjdf4,1553
@@ -78,14 +79,14 @@ parsl/executors/flux/executor.py,sha256=0omXRPvykdW5VZb8mwgBJjxVk4H6G8xoL5D_R9pu
78
79
  parsl/executors/flux/flux_instance_manager.py,sha256=tTEOATClm9SwdgLeBRWPC6D55iNDuh0YxqJOw3c3eQ4,2036
79
80
  parsl/executors/high_throughput/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
81
  parsl/executors/high_throughput/errors.py,sha256=vl69wLuVOplbKxHI9WphEGBExHWkTn5n8T9QhBXuNH0,380
81
- parsl/executors/high_throughput/executor.py,sha256=W9515Ggt1iLAz1Xs0HYB54cxbfsHj2beW2Pdt2alKws,37225
82
+ parsl/executors/high_throughput/executor.py,sha256=K82dr0CUKpbsX3eWPDC9vTfcUagHYPT5nij_zp2ku9I,37124
82
83
  parsl/executors/high_throughput/interchange.py,sha256=Rt6HyFvQYFuqUJ1ytXmUFTDIK9wOBm4l96IHoL6OFRc,31491
83
84
  parsl/executors/high_throughput/manager_record.py,sha256=w5EwzVqPtsLOyOW8jP44U3uaogt8H--tkwp7FNyKN_o,385
84
85
  parsl/executors/high_throughput/monitoring_info.py,sha256=3gQpwQjjNDEBz0cQqJZB6hRiwLiWwXs83zkQDmbOwxY,297
85
86
  parsl/executors/high_throughput/mpi_prefix_composer.py,sha256=GPSejuNL407gvzw9f7dTWArTLn6heTi-erJjgcM-_8Y,4273
86
87
  parsl/executors/high_throughput/mpi_resource_management.py,sha256=geLYmp2teKYgTnzATAR_JPtjAa0ysu6pHpXs90vwkds,7975
87
88
  parsl/executors/high_throughput/probe.py,sha256=lvnuf-vBv57tHvFh-J51F9sDYBES7jCgs6KYgWvmKRs,2749
88
- parsl/executors/high_throughput/process_worker_pool.py,sha256=PjZ2rFieJUF_sVf2GCsRnsf3X3exYGX1qftA2Zs3kHc,41221
89
+ parsl/executors/high_throughput/process_worker_pool.py,sha256=aJrljw5tEtssBXU_re-ZdwT9aeiZjdjHhQFeSIQGNRs,41267
89
90
  parsl/executors/high_throughput/zmq_pipes.py,sha256=TEIr1PcBDVbchBukzPaEsku2lbIIFCYYjeUq5zw_VBA,6514
90
91
  parsl/executors/radical/__init__.py,sha256=CKbtV2numw5QvgIBq1htMUrt9TqDCIC2zifyf2svTNU,186
91
92
  parsl/executors/radical/executor.py,sha256=5r9WZkOr0clg79zm35E7nC7zNv0DpbyM8iTC2B6d4N0,21024
@@ -95,7 +96,7 @@ parsl/executors/radical/rpex_worker.py,sha256=1M1df-hzFdmZMWbRZlUzIX7uAWMKJ_SkxL
95
96
  parsl/executors/taskvine/__init__.py,sha256=sWIJdvSLgQKul9dlSjIkNat7yBDgU3SrBF3X2yhT86E,293
96
97
  parsl/executors/taskvine/errors.py,sha256=MNS_NjpvHjwevQXOjqjSEBFroqEWi-LT1ZEVZ2C5Dx0,652
97
98
  parsl/executors/taskvine/exec_parsl_function.py,sha256=oUAKbPWwpbzWwQ47bZQlVDxS8txhnhPsonMf3AOEMGQ,7085
98
- parsl/executors/taskvine/executor.py,sha256=gpVJg0MXl4D6YzEklhrhRXnbEQxRJaPBvGNGrro0qKI,32531
99
+ parsl/executors/taskvine/executor.py,sha256=M-2Uf34lYwa5lzoMIwqR__QXcE1anvGgUJWggEzT2pQ,33024
99
100
  parsl/executors/taskvine/factory.py,sha256=sHhfGv7xRFrWkQclzRXuFEAHuSXhsZu2lR5LJ81aucA,2638
100
101
  parsl/executors/taskvine/factory_config.py,sha256=AbE2fN2snrF5ITYrrS4DnGn2XkJHUFr_17DYHDHIwq0,3693
101
102
  parsl/executors/taskvine/manager.py,sha256=VxVN2L5zFVPNfSAJrGgq87MRJKpcxf-BHdO5QWxB4TU,25822
@@ -104,15 +105,15 @@ parsl/executors/taskvine/utils.py,sha256=iSrIogeiauL3UNy_9tiZp1cBSNn6fIJkMYQRVi1
104
105
  parsl/executors/workqueue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
106
  parsl/executors/workqueue/errors.py,sha256=ghB93Ptb_QbOAvgLe7siV_snRRkU_T-cFHv3AR6Ziwo,541
106
107
  parsl/executors/workqueue/exec_parsl_function.py,sha256=NtWNeBvRqksej38eRPw8zPBJ1CeW6vgaitve0tfz_qc,7801
107
- parsl/executors/workqueue/executor.py,sha256=GG5F0PCu6gLvJjWqa7nxqHxIyRa_Iqt25NESDd7MExA,50038
108
+ parsl/executors/workqueue/executor.py,sha256=rSjQ4VWQyX9wvuwQ70ALvRYhz_d9La731eZGqgPR3uU,50523
108
109
  parsl/executors/workqueue/parsl_coprocess.py,sha256=kEFGC-A97c_gweUPvrc9EEGume7vUpkJLJlyAb87xtQ,5737
109
110
  parsl/executors/workqueue/parsl_coprocess_stub.py,sha256=_bJmpPIgL42qM6bVzeEKt1Mn1trSP41rtJguXxPGfHI,735
110
111
  parsl/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
112
  parsl/jobs/error_handlers.py,sha256=WcWZUA7KyE1ocX5zrMf_EwqOob8Jb7uHMjD3nlb_BUo,2319
112
113
  parsl/jobs/errors.py,sha256=cpSQXCrlKtuHsQf7usjF-lX8XsDkFnE5kWpmFjiN6OU,178
113
- parsl/jobs/job_status_poller.py,sha256=4aWn_IO1A7NHxzbFT2Mm9Cvk0V1f2mzNxCEXJBQDtS8,6143
114
+ parsl/jobs/job_status_poller.py,sha256=RbVnHF-574ETiMKAD07FJdtNe8I5Uw9knhNlBgKx66k,2297
114
115
  parsl/jobs/states.py,sha256=rPBoAEEudKngWFijlwvXXhAagDs_9DCXvQP9rwzVgCM,4855
115
- parsl/jobs/strategy.py,sha256=-rumnV3-p_SSGR9532nh-KZK5P2yxEZs2FhCqxvIIPo,13860
116
+ parsl/jobs/strategy.py,sha256=U5wDSqerRf94l16g2sDkf1jj1hsMmMYOZ6p0l0bqEO0,13799
116
117
  parsl/launchers/__init__.py,sha256=k8zAB3IBP-brfqXUptKwGkvsIRaXjAJZNBJa2XVtY1A,546
117
118
  parsl/launchers/base.py,sha256=CblcvPTJiu-MNLWaRtFe29SZQ0BpTOlaY8CGcHdlHIE,538
118
119
  parsl/launchers/errors.py,sha256=v5i460H_rovzukSccQetxQBVtd92jLQz-NbuDe2TdGI,467
@@ -120,10 +121,10 @@ parsl/launchers/launchers.py,sha256=VB--fiVv_IQne3DydTMSdGUY0o0g69puAs-Hd3mJ2vo,
120
121
  parsl/monitoring/__init__.py,sha256=0ywNz6i0lM1xo_7_BIxhETDGeVd2C_0wwD7qgeaMR4c,83
121
122
  parsl/monitoring/db_manager.py,sha256=hdmmXSTXp8Wwhr7vLpQalD_ahRl3SNxKYVsplnThRk8,37021
122
123
  parsl/monitoring/message_type.py,sha256=Khn88afNxcOIciKiCK4GLnn90I5BlRTiOL3zK-P07yQ,401
123
- parsl/monitoring/monitoring.py,sha256=5R3-T4vtxedwQnde5aK6MVssKvjf_VU17S0gcft6oAc,13422
124
- parsl/monitoring/radios.py,sha256=T2_6QuUjC-dd_7qMnIk6WHQead1iWz7m_P6ZC4QAqdA,5265
124
+ parsl/monitoring/monitoring.py,sha256=DWPhuxw698pHePUbT_UJdjICoAAST-Y6t9rT8H01dqA,13462
125
+ parsl/monitoring/radios.py,sha256=F1IML-IvFJxL93rvWBqwTisRprTs1zW1lFVWMog-LRE,5858
125
126
  parsl/monitoring/remote.py,sha256=0wqANMcuvq3dpja3agdbOzD72n5oUYp7PcNKyLCC35E,13923
126
- parsl/monitoring/router.py,sha256=Y_PJjffS23HwfTJClhg5W4gUXnkAI_3crjjZMoyzxVA,9592
127
+ parsl/monitoring/router.py,sha256=92krSS8xIWDQuxJMxQ3D_gbLcqgKymxr3HVJwAImdrw,9557
127
128
  parsl/monitoring/types.py,sha256=SO6Fjjbb83sv_MtbutoxGssiWh6oXKkEEsD4EvwOnZ4,629
128
129
  parsl/monitoring/queries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
130
  parsl/monitoring/queries/pandas.py,sha256=J09lIxSvVtAfBTbFcwKgUkHwZfaS6vYOzXHxS7UBLoc,2233
@@ -175,7 +176,7 @@ parsl/providers/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
175
176
  parsl/providers/kubernetes/kube.py,sha256=uOr-sPgp73r1JFNc6wYhGhNGCvqkI8xBZznuJvfIfyk,12819
176
177
  parsl/providers/kubernetes/template.py,sha256=VsRz6cmNaII-y4OdMT6sCwzQy95SJX6NMB0hmmFBhX4,50
177
178
  parsl/providers/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
- parsl/providers/local/local.py,sha256=4X6Ds7PUuwFgkc6ZuzkEyDWTzjchb9eNzAgrwYfUKAs,11369
179
+ parsl/providers/local/local.py,sha256=7OYug8UaRr1QW2g3z-SYmdo1InSSZRP0tQOySvrkwbI,11372
179
180
  parsl/providers/lsf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
181
  parsl/providers/lsf/lsf.py,sha256=AECVpjl_CTreE-APFQSjMVVIb3HheG6zculJn-zYtdM,11502
181
182
  parsl/providers/lsf/template.py,sha256=leQ_TpXv7ePMzbHfLaWvqMR0VORxlp-hjX5JxtkcwwU,269
@@ -196,7 +197,7 @@ parsl/serialize/facade.py,sha256=SpKGSpI8PQb3hhxuKRJUYoQoq284t5np9ouTpogKmtU,679
196
197
  parsl/serialize/proxystore.py,sha256=Yo-38odKlSKSuQfXU4cB5YM9sYV_302uPn1z_en19SU,1623
197
198
  parsl/tests/__init__.py,sha256=s_zoz7Ipgykh-QTQvctdpxENrMnmpXY8oe1bJbUmpqY,204
198
199
  parsl/tests/callables_helper.py,sha256=ceP1YYsNtrZgKT6MAIvpgdccEjQ_CpFEOnZBGHKGOx0,30
199
- parsl/tests/conftest.py,sha256=JwnhDUB5f48PjhP9xbj1fxBRDJ9M_zfSIAC5UCr7ao4,14304
200
+ parsl/tests/conftest.py,sha256=suQb6CmTixETxCES0gEDSTHXls5ps408Ni6RJoIaGJU,14284
200
201
  parsl/tests/test_aalst_patterns.py,sha256=fi6JHKidV7vMJLv2nnu_-Q0ngGLc89mRm8rFrGIwiUM,9615
201
202
  parsl/tests/test_callables.py,sha256=_QsdS8v2nGgOj4_X69NFHZOGUnqbOrOMCA9pCJColZw,1974
202
203
  parsl/tests/test_curvezmq.py,sha256=yyhlS4vmaZdMitiySoy4l_ih9H1bsPiN-tMdwIh3H20,12431
@@ -217,7 +218,7 @@ parsl/tests/configs/ec2_spot.py,sha256=r_ipGI9Yjk8qz6HkfIQ7jvbMIDSUXgnY4Bv4SRRVR
217
218
  parsl/tests/configs/frontera.py,sha256=sooePCzJDuxSjX0-IYePM95xAOSkN-d3W8RgvY-8eHg,1566
218
219
  parsl/tests/configs/htex_ad_hoc_cluster.py,sha256=WNyV2TbZmZvL2cfXZcKNJ7v1igFAwfMCavwBeFImwDs,946
219
220
  parsl/tests/configs/htex_local.py,sha256=8Fhn1fgUJd9TY0zmteZutvFuRWPiEZSeZX7RpFEz_0I,720
220
- parsl/tests/configs/htex_local_alternate.py,sha256=_ZakbugRdKMYGn94U3xLFmmScZ0WkrdaSbQ8GyTsoLU,2444
221
+ parsl/tests/configs/htex_local_alternate.py,sha256=KdPwREhsJ5EC5MlOF9mrjNbanVEQQZnrFZMu3vy4ilU,2513
221
222
  parsl/tests/configs/htex_local_intask_staging.py,sha256=a-Ub_id1bzbqr-NjgV1JOOl1AVfXf0b1MNJb1HfSQWk,888
222
223
  parsl/tests/configs/htex_local_rsync_staging.py,sha256=Hz8ZxTtMCXX-JFEOCCBxoJYcMl88hb4airvHZMK2Qzo,942
223
224
  parsl/tests/configs/local_adhoc.py,sha256=5yjpQLjSQtNZsycxQmyEEgBVF5VPJ-HqgAJPyeYLzzo,475
@@ -239,10 +240,10 @@ parsl/tests/configs/osg_htex.py,sha256=t2jMkQ4vY3w42LEEwzW1C1NKvStN6zV6Hy9YfB1yP
239
240
  parsl/tests/configs/petrelkube.py,sha256=AHALJ89YQKeotKxgi9a3ty16hzLwC-RrWe2LdZiW7wQ,1698
240
241
  parsl/tests/configs/summit.py,sha256=_Dd8r5mod30QRCSp16BlzsQYSKbdM71Rt4azvz9Pzfk,1377
241
242
  parsl/tests/configs/swan_htex.py,sha256=5mIYnzwOFEQ8fNsepP9QjFj9ZMW2m8u4pJluZ5BZGpw,1501
242
- parsl/tests/configs/taskvine_ex.py,sha256=e_sXe3d-uSL8cli19-xrBloqQcEQQ4tKVa_x_aDcYGM,632
243
+ parsl/tests/configs/taskvine_ex.py,sha256=RFINXWCaN1870YVJLntQNqaOTTo9lms2lTVDmA7B8RY,509
243
244
  parsl/tests/configs/theta.py,sha256=d5fLCW7SpgKkH3K8iRzj6IhsDozlKr4qgDrQ6Dv1bYA,1298
244
245
  parsl/tests/configs/user_opts.py,sha256=fNO1OxISFPP7IyJ_iwf8dQ6EagVr2StXtOWmGnA9MeI,6265
245
- parsl/tests/configs/workqueue_ex.py,sha256=5gbjlGECkUd0p9PJbq-IBYARlEbEBiPpXWgHn1GC1d8,514
246
+ parsl/tests/configs/workqueue_ex.py,sha256=HqiL8seuZKF_FmzsLozj5PmJiZkT0F66LeBx4R3VfTg,390
246
247
  parsl/tests/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
247
248
  parsl/tests/integration/latency.py,sha256=kWYkXsbnVnpwS6rHsdm7a1FsUOJWHhuXDsRPlApw6iE,3289
248
249
  parsl/tests/integration/test_parsl_load_default_config.py,sha256=wecDvbmblTgE3gErejGNLqQNaBigDyUpiqry9eoVUcw,395
@@ -292,16 +293,16 @@ parsl/tests/sites/test_worker_info.py,sha256=oqCJLiZth1yo4KXS83vn7Va0TI0D78GSDlC
292
293
  parsl/tests/sites/test_mpi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
293
294
  parsl/tests/test_bash_apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
294
295
  parsl/tests/test_bash_apps/test_apptimeout.py,sha256=fZP7LMSuRtiP1dp1viAWbH5cTfA5otPLsW-KksBAQaU,570
295
- parsl/tests/test_bash_apps/test_basic.py,sha256=R8J8gzZ1Dyw_2r4zmKmPVBBPIt2At9JDB5kfW8VcAjI,2385
296
- parsl/tests/test_bash_apps/test_error_codes.py,sha256=k6EDbPbP8yKsHb7mPcppoBn5zN33fT2vH3CjPahdD9A,4030
296
+ parsl/tests/test_bash_apps/test_basic.py,sha256=HGzJKtETnUxHQwPaTDuZTPMtIX3lSqtidqLxPn2IV8U,2460
297
+ parsl/tests/test_bash_apps/test_error_codes.py,sha256=mPvLWADdVb5hbKgpKUy06sKMWG3LYu4FVhbmrgo7Lps,3964
297
298
  parsl/tests/test_bash_apps/test_keyword_overlaps.py,sha256=8bfN2qw4uXJsYquppR1lZQrYW834AZc3zjYIIHTfDoE,209
298
- parsl/tests/test_bash_apps/test_kwarg_storage.py,sha256=54fbr6uCde_RmjzOpIXzZoBL_ByN2MzUidk5XEBJxS4,742
299
- parsl/tests/test_bash_apps/test_memoize.py,sha256=vDUinqnGAYHA4esWjj1gg6WV6UyIBFjRl9ClnPFtXCk,1427
300
- parsl/tests/test_bash_apps/test_memoize_ignore_args.py,sha256=jbW0DPpTaGul65KK4AkDqfNV70r_RlB5xtC5bFGGtcQ,1343
301
- parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py,sha256=03jL68xJxPCtO3nlCCycwOibQHuTeC6pQdPqSoc58s0,1384
302
- parsl/tests/test_bash_apps/test_multiline.py,sha256=mIl7_FZ5Gdj5BVd6zxEBtbzdUuRMRE7CEjIiI6lrQQg,1104
299
+ parsl/tests/test_bash_apps/test_kwarg_storage.py,sha256=OMMD3sKSngBSjVCHK9wju0hHzszOqbYuWtscyMuh5_8,720
300
+ parsl/tests/test_bash_apps/test_memoize.py,sha256=gFhDNFxdRv8DNtErbwtdEvAph6SDFPaWY0tABZGS4I4,1383
301
+ parsl/tests/test_bash_apps/test_memoize_ignore_args.py,sha256=zBB4zNMZe4VZExwKZHEOCbhLefGRbmyxC_c7WpEbPEs,1321
302
+ parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py,sha256=zQDQktIA9bYdqciZ17bCCGZw7XCQf3XmGqDsZ4SU_e0,1362
303
+ parsl/tests/test_bash_apps/test_multiline.py,sha256=stpMEv2eopGG-ietxjUtD5gYMOVpwPdLauDizjUfTdA,1082
303
304
  parsl/tests/test_bash_apps/test_pipeline.py,sha256=439Ml2bMn5NgiQiNcg4DPeWhsXK8WQaatvZy2PleQzQ,2444
304
- parsl/tests/test_bash_apps/test_stdout.py,sha256=vVGzdS-AX_pxpqcW_TaSG2ycQo1Ncp45XKE5im732K4,2610
305
+ parsl/tests/test_bash_apps/test_stdout.py,sha256=3jVDVjUfoQMDzp-f1Ifr7B6ivMq7U5ZzxXU3ZyUKogU,2787
305
306
  parsl/tests/test_channels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
306
307
  parsl/tests/test_channels/test_large_output.py,sha256=PGeNSW_sN5mR7KF1hVL2CPfktydYxo4oNz1wVQ-ENN0,595
307
308
  parsl/tests/test_checkpointing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -312,7 +313,7 @@ parsl/tests/test_checkpointing/test_python_checkpoint_3.py,sha256=8Np2OpDeQ8sE1H
312
313
  parsl/tests/test_checkpointing/test_regression_232.py,sha256=AsI6AJ0DcFaefAbEY9qWa41ER0VX-4yLuIdlgvBw360,2637
313
314
  parsl/tests/test_checkpointing/test_regression_233.py,sha256=jii7BKuygK6KMIGtg4IeBjix7Z28cYhv57rE9ixoXMU,1774
314
315
  parsl/tests/test_checkpointing/test_regression_239.py,sha256=P5kmf1LOo_qHtArkBLMhdvNbSPtURDU5u2tI8SXZTb0,2441
315
- parsl/tests/test_checkpointing/test_task_exit.py,sha256=3-ldQhX7YVEAowWK2TiZ6nrQQ7ktfWr-qaCShtjJZK8,1721
316
+ parsl/tests/test_checkpointing/test_task_exit.py,sha256=-caWS118ArPzOBfq_QumIjKcWsttXHnlSQg3Un50aR4,1723
316
317
  parsl/tests/test_docs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
317
318
  parsl/tests/test_docs/test_from_slides.py,sha256=0qJHAsSN3eqn4LAFTyCAq1rIUOotBzyQg7d_rJfBoes,653
318
319
  parsl/tests/test_docs/test_kwargs.py,sha256=-rMtAtarg2FOdxMuDLsZY5Crn_jmSwtelMwRNEtTlVk,925
@@ -342,15 +343,16 @@ parsl/tests/test_htex/test_manager_failure.py,sha256=gemQopZoDEoZLOvep5JZkY6tQlZ
342
343
  parsl/tests/test_htex/test_missing_worker.py,sha256=oiDN3ylsf-72jmX-Y5OWA2kQWpbVbvmoSLnu2vnyZeY,976
343
344
  parsl/tests/test_htex/test_multiple_disconnected_blocks.py,sha256=L4vw_Mo-upp2p9-TyPDfluNJJQ2BxHHNXgS3xhhuE28,1993
344
345
  parsl/tests/test_htex/test_worker_failure.py,sha256=Uz-RHI-LK78FMjXUvrUFmo4iYfmpDVBUcBxxRb3UG9M,603
345
- parsl/tests/test_htex/test_zmq_binding.py,sha256=MQWAL7XxaI1P2k_VUgm5DKD4GVEn5c2Y8MEyOSABRA4,2937
346
+ parsl/tests/test_htex/test_zmq_binding.py,sha256=2-y8HZPzNLrumVqyqG9yZl-lqefSIpez2jr5Ghrtd80,3013
346
347
  parsl/tests/test_monitoring/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
347
348
  parsl/tests/test_monitoring/test_app_names.py,sha256=4Ziggxv0JLP0UGAd5jjXdivUdZQLlMvVVMfiTStjxRk,2191
348
- parsl/tests/test_monitoring/test_basic.py,sha256=uXWx2O2Y2gfSO4e8zTjyj5bucKHG9OVzMxQNnq9abeY,2776
349
+ parsl/tests/test_monitoring/test_basic.py,sha256=8LHlS5VM1isVhOZuWCXHMUlV10AGMFNq-8n5ZX9HdLA,3768
349
350
  parsl/tests/test_monitoring/test_db_locks.py,sha256=PGoRmvqA6AYPXTPHOZPLH38Z4D6EEgSb6ZgNfZtwIGk,2910
350
- parsl/tests/test_monitoring/test_fuzz_zmq.py,sha256=CpTRF2z2xpshlHHTNiNIIJMOx8bxSmSyAwbMYcOkgBk,3121
351
+ parsl/tests/test_monitoring/test_fuzz_zmq.py,sha256=20Y2TCpOOQpWPLEppi-9InCHPb8H6gzG04-q9g28pQM,3429
351
352
  parsl/tests/test_monitoring/test_htex_init_blocks_vs_monitoring.py,sha256=Lfa6ENZWrExRsZcISMdF_G4VjswzSb0wlRSQFoZXkyQ,2765
352
353
  parsl/tests/test_monitoring/test_incomplete_futures.py,sha256=9lJhkWlVB8gCCTkFjObzoh1uCL1pRmU6gFgEzLCztnY,2021
353
354
  parsl/tests/test_monitoring/test_memoization_representation.py,sha256=tErT7zseSMaQ5eNmK3hH90J6OZKuAaFQG50OXK6Jy9s,2660
355
+ parsl/tests/test_monitoring/test_stdouterr.py,sha256=bx2BKZ_iIuS8FZlxdt7n1QsUwTnWaXnORdrlJCTw5aU,4517
354
356
  parsl/tests/test_monitoring/test_viz_colouring.py,sha256=k8SiELxPtnGYZ4r02VQt46RC61fGDVC4nmY768snX1U,591
355
357
  parsl/tests/test_mpi_apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
356
358
  parsl/tests/test_mpi_apps/test_bad_mpi_config.py,sha256=mB-ASx0S-wh1iP6MYZ-CdOwMye3xgteQK-jqufzWNO8,1317
@@ -369,7 +371,7 @@ parsl/tests/test_providers/test_submiterror_deprecation.py,sha256=ZutVj_0VJ7M-5U
369
371
  parsl/tests/test_python_apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
370
372
  parsl/tests/test_python_apps/test_arg_input_types.py,sha256=JXpfHiu8lr9BN6u1OzqFvGwBhxzsGTPMewHx6Wdo-HI,670
371
373
  parsl/tests/test_python_apps/test_basic.py,sha256=lFqh4ugePbp_FRiHGUXxzV34iS7l8C5UkxTHuLcpnYs,855
372
- parsl/tests/test_python_apps/test_context_manager.py,sha256=iMBjOFmqEO2rDGPJwDySa1kWz-dRnZZNEWDPipS_Xi4,877
374
+ parsl/tests/test_python_apps/test_context_manager.py,sha256=LzJ3WtR1LYiQF_lbmrd5h4mlC7_h_GvzoeUPQZ5vPsw,928
373
375
  parsl/tests/test_python_apps/test_dep_standard_futures.py,sha256=BloeaYBci0jS5al2d8Eqe3OfZ1tvolA5ZflOBQPR9Wo,859
374
376
  parsl/tests/test_python_apps/test_dependencies.py,sha256=IRiTI_lPoWBSFSFnaBlE6Bv08PKEaf-qj5dfqO2RjT0,272
375
377
  parsl/tests/test_python_apps/test_depfail_propagation.py,sha256=3q3HlVWrOixFtXWBvR_ypKtbdAHAJcKndXQ5drwrBQU,1488
@@ -388,7 +390,7 @@ parsl/tests/test_python_apps/test_memoize_4.py,sha256=CdK_vHW5s-phi5KPqcAQm_BRh8
388
390
  parsl/tests/test_python_apps/test_memoize_bad_id_for_memo.py,sha256=GuLFSN_UotC0ak5p5Rohcc9KVCdKD4CsZCYffqEnEwE,1435
389
391
  parsl/tests/test_python_apps/test_memoize_ignore_args.py,sha256=u-s6r6Nxpvu_x_Uwputi_QIC1tUnzakDF-LSKiEtl9Q,739
390
392
  parsl/tests/test_python_apps/test_memoize_joinapp.py,sha256=htiNmE0PGVA7_pdwRcZ9Wv5Fh6Bph6EdPmywJi8m1oM,435
391
- parsl/tests/test_python_apps/test_outputs.py,sha256=mfhgD7hrWIAyLT8nvlw19odTsjDNVqaQu3hdyy6j4Ac,644
393
+ parsl/tests/test_python_apps/test_outputs.py,sha256=f7pR8XXsq01wNQ_1P_ntM9YDj140Tsm0YEqgOMo4Aho,622
392
394
  parsl/tests/test_python_apps/test_overview.py,sha256=27LlnGOSDRPtDZ04ZZ31GM7BgoEY_WU6N3LGO-u6JOM,454
393
395
  parsl/tests/test_python_apps/test_pipeline.py,sha256=vl5bDAzwW0qoTIarzdkFv7cAuaI7xJIrvx-S-8tFfc8,848
394
396
  parsl/tests/test_python_apps/test_simple.py,sha256=LYGjdHvRizTpYzZePPvwKSPwrr2MPuMggYTknHeNhWM,733
@@ -409,9 +411,10 @@ parsl/tests/test_regression/test_97_parallelism_0.py,sha256=PwHxwQirqLJUeBhsNSzU
409
411
  parsl/tests/test_regression/test_98.py,sha256=ZNTA-USpmH85Mt0nu3KFQ1qqmXsyHtYMZWZY0grzuYA,453
410
412
  parsl/tests/test_scaling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
411
413
  parsl/tests/test_scaling/test_block_error_handler.py,sha256=VFKs_jq7yd7bpdfYva3Sa_TBS8VcjGUS6YJ9Y34RbyI,6050
412
- parsl/tests/test_scaling/test_regression_1621.py,sha256=iRu3GFsg2l9J61AVZKWLc6zJcvI2JYD0WvtTYDSv22I,1770
414
+ parsl/tests/test_scaling/test_regression_1621.py,sha256=Z7nLhn2dxTVApo2XA55vzLziW6_QBQcZHoMsRQ066b0,1963
413
415
  parsl/tests/test_scaling/test_scale_down.py,sha256=T8NVmoIebdpSjrNJCdgDHumpz9eKLkJrpeW7Kwi8cBg,2821
414
416
  parsl/tests/test_scaling/test_scale_down_htex_auto_scale.py,sha256=1vP2a8qygnxuUji7B3kJOUgwjmmIC1fDPhDdqzs5YFA,4597
417
+ parsl/tests/test_scaling/test_scale_down_htex_unregistered.py,sha256=lGl7m9PRPs4MxAEK7QpSXAxGgCSbabxxYN-ExZUYAUs,2030
415
418
  parsl/tests/test_scaling/test_shutdown_scalein.py,sha256=8QYnU67Ezx7Il9edR-Wrwzxp3xE3E3ocXfrs4P1eCFQ,2417
416
419
  parsl/tests/test_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
417
420
  parsl/tests/test_serialization/test_2555_caching_deserializer.py,sha256=J8__b4djA5tErd8FUSXGkGcdXlW2KHbBWRbCTAnV08Q,767
@@ -436,6 +439,8 @@ parsl/tests/test_staging/test_staging_ftp.py,sha256=EkRoTcQ00FZGh8lDVYBdKb-pQ-yb
436
439
  parsl/tests/test_staging/test_staging_ftp_in_task.py,sha256=kR2XrGvbvVFDpHg53NnjO04kqEksTJjQAMQwYqBdb2M,884
437
440
  parsl/tests/test_staging/test_staging_globus.py,sha256=ds8nDH5dNbI10FV_GxMHyVaY6GPnuPPzkX9IiqROLF0,2339
438
441
  parsl/tests/test_staging/test_staging_https.py,sha256=ESNuvdc_P5JoPaMjBM3ofi1mNJM0U6vahi9JgbCsrPw,3307
442
+ parsl/tests/test_staging/test_staging_stdout.py,sha256=i4ksb9ehu-bKPgALxm6ADB12EQVTM_xusyFGmSwByLs,2025
443
+ parsl/tests/test_staging/test_zip_out.py,sha256=qR_iK8wqKOxisMBD5MqKr2RoyoTUmRejAj_O3jgJA2A,3512
439
444
  parsl/tests/test_threads/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
440
445
  parsl/tests/test_threads/test_configs.py,sha256=QA9YjIMAtZ2jmkfOWqBzEfzQQcFVCDizH7Qwiy2HIMQ,909
441
446
  parsl/tests/test_threads/test_lazy_errors.py,sha256=nGhYfCMHFZYSy6YJ4gnAmiLl9SfYs0WVnuvj8DXQ9bw,560
@@ -443,12 +448,12 @@ parsl/tests/test_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
443
448
  parsl/tests/test_utils/test_representation_mixin.py,sha256=kUZeIDwA2rlbJ3-beGzLLwf3dOplTMCrWJN87etHcyY,1633
444
449
  parsl/usage_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
445
450
  parsl/usage_tracking/usage.py,sha256=pSADeogWqvkYI_n2pojv4IWDEFAQ3KwXNx6LDTohMHQ,6684
446
- parsl-2024.4.8.data/scripts/exec_parsl_function.py,sha256=NtWNeBvRqksej38eRPw8zPBJ1CeW6vgaitve0tfz_qc,7801
447
- parsl-2024.4.8.data/scripts/parsl_coprocess.py,sha256=Y7Tc-h9WGui-YDe3w_h91w2Sm1JNL1gJ9kAV4PE_gw8,5722
448
- parsl-2024.4.8.data/scripts/process_worker_pool.py,sha256=V3K4admJ7QvwR9sN0GH-c6uOTgNU8zVb76q872WtYCo,41207
449
- parsl-2024.4.8.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
450
- parsl-2024.4.8.dist-info/METADATA,sha256=iCcfSeM8LvJdXuanu5jEEGo_H-wXXz56VWD0iCzUYfg,3973
451
- parsl-2024.4.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
452
- parsl-2024.4.8.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
453
- parsl-2024.4.8.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
454
- parsl-2024.4.8.dist-info/RECORD,,
451
+ parsl-2024.4.22.data/scripts/exec_parsl_function.py,sha256=NtWNeBvRqksej38eRPw8zPBJ1CeW6vgaitve0tfz_qc,7801
452
+ parsl-2024.4.22.data/scripts/parsl_coprocess.py,sha256=Y7Tc-h9WGui-YDe3w_h91w2Sm1JNL1gJ9kAV4PE_gw8,5722
453
+ parsl-2024.4.22.data/scripts/process_worker_pool.py,sha256=31tyTtU7hrrsatGReuCbLM-3GWkaYK1bvlFE1MhKYQg,41253
454
+ parsl-2024.4.22.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
455
+ parsl-2024.4.22.dist-info/METADATA,sha256=qMMaRpBRciAOHn3sQoQd3udOTdP8-uWhfhIH8hUX2HU,4012
456
+ parsl-2024.4.22.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
457
+ parsl-2024.4.22.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
458
+ parsl-2024.4.22.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
459
+ parsl-2024.4.22.dist-info/RECORD,,