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.
- parsl/addresses.py +2 -2
- parsl/app/bash.py +10 -2
- parsl/app/errors.py +3 -5
- parsl/data_provider/data_manager.py +2 -1
- parsl/data_provider/zip.py +104 -0
- parsl/dataflow/dflow.py +92 -43
- parsl/dataflow/futures.py +26 -12
- parsl/executors/base.py +28 -9
- parsl/executors/high_throughput/executor.py +14 -19
- parsl/executors/high_throughput/process_worker_pool.py +3 -1
- parsl/executors/status_handling.py +81 -1
- parsl/executors/taskvine/executor.py +13 -2
- parsl/executors/workqueue/executor.py +14 -3
- parsl/jobs/job_status_poller.py +19 -113
- parsl/jobs/strategy.py +22 -27
- parsl/monitoring/monitoring.py +29 -23
- parsl/monitoring/radios.py +15 -0
- parsl/monitoring/router.py +7 -6
- parsl/providers/local/local.py +1 -1
- parsl/tests/configs/htex_local_alternate.py +2 -1
- parsl/tests/configs/taskvine_ex.py +1 -2
- parsl/tests/configs/workqueue_ex.py +1 -2
- parsl/tests/conftest.py +6 -7
- parsl/tests/test_bash_apps/test_basic.py +7 -4
- parsl/tests/test_bash_apps/test_error_codes.py +0 -3
- parsl/tests/test_bash_apps/test_kwarg_storage.py +0 -1
- parsl/tests/test_bash_apps/test_memoize.py +0 -2
- parsl/tests/test_bash_apps/test_memoize_ignore_args.py +0 -1
- parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py +0 -1
- parsl/tests/test_bash_apps/test_multiline.py +0 -1
- parsl/tests/test_bash_apps/test_stdout.py +11 -6
- parsl/tests/test_checkpointing/test_task_exit.py +1 -1
- parsl/tests/test_htex/test_zmq_binding.py +1 -0
- parsl/tests/test_monitoring/test_basic.py +46 -21
- parsl/tests/test_monitoring/test_fuzz_zmq.py +10 -1
- parsl/tests/test_monitoring/test_stdouterr.py +137 -0
- parsl/tests/test_python_apps/test_context_manager.py +3 -3
- parsl/tests/test_python_apps/test_outputs.py +0 -1
- parsl/tests/test_scaling/test_regression_1621.py +11 -11
- parsl/tests/test_scaling/test_scale_down_htex_unregistered.py +74 -0
- parsl/tests/test_staging/test_staging_stdout.py +61 -0
- parsl/tests/test_staging/test_zip_out.py +113 -0
- parsl/utils.py +11 -2
- parsl/version.py +1 -1
- {parsl-2024.4.8.data → parsl-2024.4.22.data}/scripts/process_worker_pool.py +3 -1
- {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/METADATA +5 -4
- {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/RECORD +53 -48
- {parsl-2024.4.8.data → parsl-2024.4.22.data}/scripts/exec_parsl_function.py +0 -0
- {parsl-2024.4.8.data → parsl-2024.4.22.data}/scripts/parsl_coprocess.py +0 -0
- {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/LICENSE +0 -0
- {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/WHEEL +0 -0
- {parsl-2024.4.8.dist-info → parsl-2024.4.22.dist-info}/entry_points.txt +0 -0
- {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
|
125
|
+
raise pe.BadStdStreamFile(msg)
|
125
126
|
fname, mode = stdfspec
|
126
|
-
|
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
@@ -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(
|
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.
|
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.
|
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.
|
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.
|
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=
|
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=
|
11
|
-
parsl/version.py,sha256=
|
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=
|
15
|
-
parsl/app/errors.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
72
|
+
parsl/executors/base.py,sha256=Kvui8yDPzz7yQpm9qSkMdhQS4eu0tQTkVZ99j6HGgA4,5087
|
72
73
|
parsl/executors/errors.py,sha256=xVswxgi7vmJcUMCeYDAPK8sQT2kHFFROVoOr0dnmcWE,2098
|
73
|
-
parsl/executors/status_handling.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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
|
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=
|
124
|
-
parsl/monitoring/radios.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
296
|
-
parsl/tests/test_bash_apps/test_error_codes.py,sha256=
|
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=
|
299
|
-
parsl/tests/test_bash_apps/test_memoize.py,sha256=
|
300
|
-
parsl/tests/test_bash_apps/test_memoize_ignore_args.py,sha256=
|
301
|
-
parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py,sha256=
|
302
|
-
parsl/tests/test_bash_apps/test_multiline.py,sha256=
|
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=
|
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
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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.
|
447
|
-
parsl-2024.4.
|
448
|
-
parsl-2024.4.
|
449
|
-
parsl-2024.4.
|
450
|
-
parsl-2024.4.
|
451
|
-
parsl-2024.4.
|
452
|
-
parsl-2024.4.
|
453
|
-
parsl-2024.4.
|
454
|
-
parsl-2024.4.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|