parsl 2024.6.17__py3-none-any.whl → 2024.6.24__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/app/bash.py +2 -3
- parsl/channels/local/local.py +7 -2
- parsl/configs/ASPIRE1.py +3 -1
- parsl/configs/Azure.py +3 -1
- parsl/configs/ad_hoc.py +2 -0
- parsl/configs/bridges.py +3 -1
- parsl/configs/cc_in2p3.py +2 -0
- parsl/configs/ec2.py +2 -0
- parsl/configs/expanse.py +3 -1
- parsl/configs/frontera.py +2 -0
- parsl/configs/htex_local.py +2 -0
- parsl/configs/illinoiscluster.py +2 -0
- parsl/configs/kubernetes.py +3 -1
- parsl/configs/local_threads.py +5 -1
- parsl/configs/midway.py +2 -0
- parsl/configs/osg.py +3 -1
- parsl/configs/polaris.py +3 -1
- parsl/configs/stampede2.py +2 -0
- parsl/configs/summit.py +2 -0
- parsl/configs/toss3_llnl.py +3 -1
- parsl/configs/vineex_local.py +3 -1
- parsl/configs/wqex_local.py +3 -1
- parsl/executors/workqueue/executor.py +25 -5
- parsl/version.py +1 -1
- {parsl-2024.6.17.dist-info → parsl-2024.6.24.dist-info}/METADATA +2 -2
- {parsl-2024.6.17.dist-info → parsl-2024.6.24.dist-info}/RECORD +34 -34
- {parsl-2024.6.17.data → parsl-2024.6.24.data}/scripts/exec_parsl_function.py +0 -0
- {parsl-2024.6.17.data → parsl-2024.6.24.data}/scripts/interchange.py +0 -0
- {parsl-2024.6.17.data → parsl-2024.6.24.data}/scripts/parsl_coprocess.py +0 -0
- {parsl-2024.6.17.data → parsl-2024.6.24.data}/scripts/process_worker_pool.py +0 -0
- {parsl-2024.6.17.dist-info → parsl-2024.6.24.dist-info}/LICENSE +0 -0
- {parsl-2024.6.17.dist-info → parsl-2024.6.24.dist-info}/WHEEL +0 -0
- {parsl-2024.6.17.dist-info → parsl-2024.6.24.dist-info}/entry_points.txt +0 -0
- {parsl-2024.6.17.dist-info → parsl-2024.6.24.dist-info}/top_level.txt +0 -0
parsl/app/bash.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import logging
|
2
|
-
from functools import partial
|
2
|
+
from functools import partial
|
3
3
|
from inspect import Parameter, signature
|
4
4
|
|
5
5
|
from parsl.app.app import AppBase
|
@@ -123,11 +123,10 @@ class BashApp(AppBase):
|
|
123
123
|
if sig.parameters[s].default is not Parameter.empty:
|
124
124
|
self.kwargs[s] = sig.parameters[s].default
|
125
125
|
|
126
|
-
# update_wrapper allows remote_side_bash_executor to masquerade as self.func
|
127
126
|
# partial is used to attach the first arg the "func" to the remote_side_bash_executor
|
128
127
|
# this is done to avoid passing a function type in the args which parsl.serializer
|
129
128
|
# doesn't support
|
130
|
-
remote_fn = partial(
|
129
|
+
remote_fn = partial(remote_side_bash_executor, self.func)
|
131
130
|
remote_fn.__name__ = self.func.__name__
|
132
131
|
self.wrapped_remote_function = wrap_error(remote_fn)
|
133
132
|
|
parsl/channels/local/local.py
CHANGED
@@ -55,6 +55,7 @@ class LocalChannel(Channel, RepresentationMixin):
|
|
55
55
|
current_env.update(envs)
|
56
56
|
|
57
57
|
try:
|
58
|
+
logger.debug("Creating process with command '%s'", cmd)
|
58
59
|
proc = subprocess.Popen(
|
59
60
|
cmd,
|
60
61
|
stdout=subprocess.PIPE,
|
@@ -64,12 +65,16 @@ class LocalChannel(Channel, RepresentationMixin):
|
|
64
65
|
shell=True,
|
65
66
|
preexec_fn=os.setpgrp
|
66
67
|
)
|
68
|
+
logger.debug("Created process with pid %s. Performing communicate", proc.pid)
|
67
69
|
(stdout, stderr) = proc.communicate(timeout=walltime)
|
68
70
|
retcode = proc.returncode
|
71
|
+
logger.debug("Process %s returned %s", proc.pid, proc.returncode)
|
69
72
|
|
70
|
-
except Exception
|
71
|
-
logger.
|
73
|
+
except Exception:
|
74
|
+
logger.exception(f"Execution of command failed:\n{cmd}")
|
72
75
|
raise
|
76
|
+
else:
|
77
|
+
logger.debug("Execution of command in process %s completed normally", proc.pid)
|
73
78
|
|
74
79
|
return (retcode, stdout.decode("utf-8"), stderr.decode("utf-8"))
|
75
80
|
|
parsl/configs/ASPIRE1.py
CHANGED
@@ -4,6 +4,7 @@ from parsl.executors import HighThroughputExecutor
|
|
4
4
|
from parsl.launchers import MpiRunLauncher
|
5
5
|
from parsl.monitoring.monitoring import MonitoringHub
|
6
6
|
from parsl.providers import PBSProProvider
|
7
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
7
8
|
|
8
9
|
config = Config(
|
9
10
|
executors=[
|
@@ -39,5 +40,6 @@ config = Config(
|
|
39
40
|
strategy='simple',
|
40
41
|
retries=3,
|
41
42
|
app_cache=True,
|
42
|
-
checkpoint_mode='task_exit'
|
43
|
+
checkpoint_mode='task_exit',
|
44
|
+
usage_tracking=LEVEL_1,
|
43
45
|
)
|
parsl/configs/Azure.py
CHANGED
@@ -8,6 +8,7 @@ from parsl.data_provider.http import HTTPInTaskStaging
|
|
8
8
|
from parsl.data_provider.rsync import RSyncStaging
|
9
9
|
from parsl.executors import HighThroughputExecutor
|
10
10
|
from parsl.providers import AzureProvider
|
11
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
11
12
|
|
12
13
|
vm_reference = {
|
13
14
|
# All fields below are required
|
@@ -33,5 +34,6 @@ config = Config(
|
|
33
34
|
FTPInTaskStaging(),
|
34
35
|
RSyncStaging(getpass.getuser() + "@" + address_by_query())],
|
35
36
|
)
|
36
|
-
]
|
37
|
+
],
|
38
|
+
usage_tracking=LEVEL_1,
|
37
39
|
)
|
parsl/configs/ad_hoc.py
CHANGED
@@ -4,6 +4,7 @@ from parsl.channels import SSHChannel
|
|
4
4
|
from parsl.config import Config
|
5
5
|
from parsl.executors import HighThroughputExecutor
|
6
6
|
from parsl.providers import AdHocProvider
|
7
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
7
8
|
|
8
9
|
user_opts: Dict[str, Dict[str, Any]]
|
9
10
|
user_opts = {'adhoc':
|
@@ -33,4 +34,5 @@ config = Config(
|
|
33
34
|
],
|
34
35
|
# AdHoc Clusters should not be setup with scaling strategy.
|
35
36
|
strategy='none',
|
37
|
+
usage_tracking=LEVEL_1,
|
36
38
|
)
|
parsl/configs/bridges.py
CHANGED
@@ -3,6 +3,7 @@ from parsl.config import Config
|
|
3
3
|
from parsl.executors import HighThroughputExecutor
|
4
4
|
from parsl.launchers import SrunLauncher
|
5
5
|
from parsl.providers import SlurmProvider
|
6
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
6
7
|
|
7
8
|
""" This config assumes that it is used to launch parsl tasks from the login nodes
|
8
9
|
of Bridges at PSC. Each job submitted to the scheduler will request 2 nodes for 10 minutes.
|
@@ -34,5 +35,6 @@ config = Config(
|
|
34
35
|
cmd_timeout=120,
|
35
36
|
),
|
36
37
|
)
|
37
|
-
]
|
38
|
+
],
|
39
|
+
usage_tracking=LEVEL_1,
|
38
40
|
)
|
parsl/configs/cc_in2p3.py
CHANGED
@@ -2,6 +2,7 @@ from parsl.channels import LocalChannel
|
|
2
2
|
from parsl.config import Config
|
3
3
|
from parsl.executors import HighThroughputExecutor
|
4
4
|
from parsl.providers import GridEngineProvider
|
5
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
5
6
|
|
6
7
|
config = Config(
|
7
8
|
executors=[
|
@@ -19,4 +20,5 @@ config = Config(
|
|
19
20
|
),
|
20
21
|
)
|
21
22
|
],
|
23
|
+
usage_tracking=LEVEL_1,
|
22
24
|
)
|
parsl/configs/ec2.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
from parsl.config import Config
|
2
2
|
from parsl.executors import HighThroughputExecutor
|
3
3
|
from parsl.providers import AWSProvider
|
4
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
4
5
|
|
5
6
|
config = Config(
|
6
7
|
executors=[
|
@@ -25,4 +26,5 @@ config = Config(
|
|
25
26
|
),
|
26
27
|
)
|
27
28
|
],
|
29
|
+
usage_tracking=LEVEL_1,
|
28
30
|
)
|
parsl/configs/expanse.py
CHANGED
@@ -2,6 +2,7 @@ from parsl.config import Config
|
|
2
2
|
from parsl.executors import HighThroughputExecutor
|
3
3
|
from parsl.launchers import SrunLauncher
|
4
4
|
from parsl.providers import SlurmProvider
|
5
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
5
6
|
|
6
7
|
config = Config(
|
7
8
|
executors=[
|
@@ -24,5 +25,6 @@ config = Config(
|
|
24
25
|
nodes_per_block=2,
|
25
26
|
),
|
26
27
|
)
|
27
|
-
]
|
28
|
+
],
|
29
|
+
usage_tracking=LEVEL_1,
|
28
30
|
)
|
parsl/configs/frontera.py
CHANGED
@@ -3,6 +3,7 @@ from parsl.config import Config
|
|
3
3
|
from parsl.executors import HighThroughputExecutor
|
4
4
|
from parsl.launchers import SrunLauncher
|
5
5
|
from parsl.providers import SlurmProvider
|
6
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
6
7
|
|
7
8
|
""" This config assumes that it is used to launch parsl tasks from the login nodes
|
8
9
|
of Frontera at TACC. Each job submitted to the scheduler will request 2 nodes for 10 minutes.
|
@@ -32,4 +33,5 @@ config = Config(
|
|
32
33
|
),
|
33
34
|
)
|
34
35
|
],
|
36
|
+
usage_tracking=LEVEL_1,
|
35
37
|
)
|
parsl/configs/htex_local.py
CHANGED
@@ -2,6 +2,7 @@ from parsl.channels import LocalChannel
|
|
2
2
|
from parsl.config import Config
|
3
3
|
from parsl.executors import HighThroughputExecutor
|
4
4
|
from parsl.providers import LocalProvider
|
5
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
5
6
|
|
6
7
|
config = Config(
|
7
8
|
executors=[
|
@@ -15,4 +16,5 @@ config = Config(
|
|
15
16
|
),
|
16
17
|
)
|
17
18
|
],
|
19
|
+
usage_tracking=LEVEL_1,
|
18
20
|
)
|
parsl/configs/illinoiscluster.py
CHANGED
@@ -2,6 +2,7 @@ from parsl.config import Config
|
|
2
2
|
from parsl.executors import HighThroughputExecutor
|
3
3
|
from parsl.launchers import SrunLauncher
|
4
4
|
from parsl.providers import SlurmProvider
|
5
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
5
6
|
|
6
7
|
""" This config assumes that it is used to launch parsl tasks from the login nodes
|
7
8
|
of the Campus Cluster at UIUC. Each job submitted to the scheduler will request 2 nodes for 10 minutes.
|
@@ -25,4 +26,5 @@ config = Config(
|
|
25
26
|
),
|
26
27
|
)
|
27
28
|
],
|
29
|
+
usage_tracking=LEVEL_1,
|
28
30
|
)
|
parsl/configs/kubernetes.py
CHANGED
@@ -2,6 +2,7 @@ from parsl.addresses import address_by_route
|
|
2
2
|
from parsl.config import Config
|
3
3
|
from parsl.executors import HighThroughputExecutor
|
4
4
|
from parsl.providers import KubernetesProvider
|
5
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
5
6
|
|
6
7
|
config = Config(
|
7
8
|
executors=[
|
@@ -36,5 +37,6 @@ config = Config(
|
|
36
37
|
max_blocks=10,
|
37
38
|
),
|
38
39
|
),
|
39
|
-
]
|
40
|
+
],
|
41
|
+
usage_tracking=LEVEL_1,
|
40
42
|
)
|
parsl/configs/local_threads.py
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
from parsl.config import Config
|
2
2
|
from parsl.executors.threads import ThreadPoolExecutor
|
3
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
3
4
|
|
4
|
-
config = Config(
|
5
|
+
config = Config(
|
6
|
+
executors=[ThreadPoolExecutor()],
|
7
|
+
usage_tracking=LEVEL_1,
|
8
|
+
)
|
parsl/configs/midway.py
CHANGED
@@ -3,6 +3,7 @@ from parsl.config import Config
|
|
3
3
|
from parsl.executors import HighThroughputExecutor
|
4
4
|
from parsl.launchers import SrunLauncher
|
5
5
|
from parsl.providers import SlurmProvider
|
6
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
6
7
|
|
7
8
|
config = Config(
|
8
9
|
executors=[
|
@@ -28,4 +29,5 @@ config = Config(
|
|
28
29
|
),
|
29
30
|
)
|
30
31
|
],
|
32
|
+
usage_tracking=LEVEL_1,
|
31
33
|
)
|
parsl/configs/osg.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
from parsl.config import Config
|
2
2
|
from parsl.executors import HighThroughputExecutor
|
3
3
|
from parsl.providers import CondorProvider
|
4
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
4
5
|
|
5
6
|
config = Config(
|
6
7
|
executors=[
|
@@ -26,5 +27,6 @@ python3 -m venv parsl_env; source parsl_env/bin/activate; python3 -m pip install
|
|
26
27
|
worker_logdir_root='$OSG_WN_TMP',
|
27
28
|
worker_ports=(31000, 31001)
|
28
29
|
)
|
29
|
-
]
|
30
|
+
],
|
31
|
+
usage_tracking=LEVEL_1,
|
30
32
|
)
|
parsl/configs/polaris.py
CHANGED
@@ -3,6 +3,7 @@ from parsl.config import Config
|
|
3
3
|
from parsl.executors import HighThroughputExecutor
|
4
4
|
from parsl.launchers import MpiExecLauncher
|
5
5
|
from parsl.providers import PBSProProvider
|
6
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
6
7
|
|
7
8
|
# There are three user parameters to change for the PBSProProvider:
|
8
9
|
# YOUR_ACCOUNT: Account to charge usage
|
@@ -34,5 +35,6 @@ config = Config(
|
|
34
35
|
cpus_per_node=64,
|
35
36
|
),
|
36
37
|
),
|
37
|
-
]
|
38
|
+
],
|
39
|
+
usage_tracking=LEVEL_1,
|
38
40
|
)
|
parsl/configs/stampede2.py
CHANGED
@@ -4,6 +4,7 @@ from parsl.data_provider.globus import GlobusStaging
|
|
4
4
|
from parsl.executors import HighThroughputExecutor
|
5
5
|
from parsl.launchers import SrunLauncher
|
6
6
|
from parsl.providers import SlurmProvider
|
7
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
7
8
|
|
8
9
|
config = Config(
|
9
10
|
executors=[
|
@@ -34,4 +35,5 @@ config = Config(
|
|
34
35
|
)
|
35
36
|
|
36
37
|
],
|
38
|
+
usage_tracking=LEVEL_1,
|
37
39
|
)
|
parsl/configs/summit.py
CHANGED
@@ -3,6 +3,7 @@ from parsl.config import Config
|
|
3
3
|
from parsl.executors import HighThroughputExecutor
|
4
4
|
from parsl.launchers import JsrunLauncher
|
5
5
|
from parsl.providers import LSFProvider
|
6
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
6
7
|
|
7
8
|
config = Config(
|
8
9
|
executors=[
|
@@ -26,4 +27,5 @@ config = Config(
|
|
26
27
|
)
|
27
28
|
|
28
29
|
],
|
30
|
+
usage_tracking=LEVEL_1,
|
29
31
|
)
|
parsl/configs/toss3_llnl.py
CHANGED
@@ -2,6 +2,7 @@ from parsl.config import Config
|
|
2
2
|
from parsl.executors import FluxExecutor
|
3
3
|
from parsl.launchers import SrunLauncher
|
4
4
|
from parsl.providers import SlurmProvider
|
5
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
5
6
|
|
6
7
|
config = Config(
|
7
8
|
executors=[
|
@@ -24,5 +25,6 @@ config = Config(
|
|
24
25
|
cmd_timeout=120,
|
25
26
|
),
|
26
27
|
)
|
27
|
-
]
|
28
|
+
],
|
29
|
+
usage_tracking=LEVEL_1,
|
28
30
|
)
|
parsl/configs/vineex_local.py
CHANGED
@@ -2,6 +2,7 @@ import uuid
|
|
2
2
|
|
3
3
|
from parsl.config import Config
|
4
4
|
from parsl.executors.taskvine import TaskVineExecutor, TaskVineManagerConfig
|
5
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
5
6
|
|
6
7
|
config = Config(
|
7
8
|
executors=[
|
@@ -15,5 +16,6 @@ config = Config(
|
|
15
16
|
# To disable status reporting, comment out the project_name.
|
16
17
|
manager_config=TaskVineManagerConfig(project_name="parsl-vine-" + str(uuid.uuid4())),
|
17
18
|
)
|
18
|
-
]
|
19
|
+
],
|
20
|
+
usage_tracking=LEVEL_1,
|
19
21
|
)
|
parsl/configs/wqex_local.py
CHANGED
@@ -2,6 +2,7 @@ import uuid
|
|
2
2
|
|
3
3
|
from parsl.config import Config
|
4
4
|
from parsl.executors import WorkQueueExecutor
|
5
|
+
from parsl.usage_tracking.levels import LEVEL_1
|
5
6
|
|
6
7
|
config = Config(
|
7
8
|
executors=[
|
@@ -21,5 +22,6 @@ config = Config(
|
|
21
22
|
# A shared filesystem is not needed when using Work Queue.
|
22
23
|
shared_fs=False
|
23
24
|
)
|
24
|
-
]
|
25
|
+
],
|
26
|
+
usage_tracking=LEVEL_1,
|
25
27
|
)
|
@@ -215,6 +215,13 @@ class WorkQueueExecutor(BlockProviderExecutor, putils.RepresentationMixin):
|
|
215
215
|
This requires a version of Work Queue / cctools after commit
|
216
216
|
874df524516441da531b694afc9d591e8b134b73 (release 7.5.0 is too early).
|
217
217
|
Default is False.
|
218
|
+
|
219
|
+
scaling_cores_per_worker: int
|
220
|
+
When using Parsl scaling, this specifies the number of cores that a
|
221
|
+
worker is expected to have available for computation. Default 1. This
|
222
|
+
parameter can be ignored when using a fixed number of blocks, or when
|
223
|
+
using one task per worker (by omitting a ``cores`` resource
|
224
|
+
specifiation for each task).
|
218
225
|
"""
|
219
226
|
|
220
227
|
radio_mode = "filesystem"
|
@@ -244,12 +251,14 @@ class WorkQueueExecutor(BlockProviderExecutor, putils.RepresentationMixin):
|
|
244
251
|
full_debug: bool = True,
|
245
252
|
worker_executable: str = 'work_queue_worker',
|
246
253
|
function_dir: Optional[str] = None,
|
247
|
-
coprocess: bool = False
|
254
|
+
coprocess: bool = False,
|
255
|
+
scaling_cores_per_worker: int = 1):
|
248
256
|
BlockProviderExecutor.__init__(self, provider=provider,
|
249
257
|
block_error_handler=True)
|
250
258
|
if not _work_queue_enabled:
|
251
259
|
raise OptionalModuleMissing(['work_queue'], "WorkQueueExecutor requires the work_queue module.")
|
252
260
|
|
261
|
+
self.scaling_cores_per_worker = scaling_cores_per_worker
|
253
262
|
self.label = label
|
254
263
|
self.task_queue = multiprocessing.Queue() # type: multiprocessing.Queue
|
255
264
|
self.collector_queue = multiprocessing.Queue() # type: multiprocessing.Queue
|
@@ -469,6 +478,8 @@ class WorkQueueExecutor(BlockProviderExecutor, putils.RepresentationMixin):
|
|
469
478
|
# Create a Future object and have it be mapped from the task ID in the tasks dictionary
|
470
479
|
fu = Future()
|
471
480
|
fu.parsl_executor_task_id = executor_task_id
|
481
|
+
assert isinstance(resource_specification, dict)
|
482
|
+
fu.resource_specification = resource_specification
|
472
483
|
logger.debug("Getting tasks_lock to set WQ-level task entry")
|
473
484
|
with self.tasks_lock:
|
474
485
|
logger.debug("Got tasks_lock to set WQ-level task entry")
|
@@ -654,20 +665,29 @@ class WorkQueueExecutor(BlockProviderExecutor, putils.RepresentationMixin):
|
|
654
665
|
|
655
666
|
@property
|
656
667
|
def outstanding(self) -> int:
|
657
|
-
"""Count the number of outstanding
|
668
|
+
"""Count the number of outstanding slots required. This is inefficiently
|
658
669
|
implemented and probably could be replaced with a counter.
|
659
670
|
"""
|
671
|
+
logger.debug("Calculating outstanding task slot load")
|
660
672
|
outstanding = 0
|
673
|
+
tasks = 0 # only for log message...
|
661
674
|
with self.tasks_lock:
|
662
675
|
for fut in self.tasks.values():
|
663
676
|
if not fut.done():
|
664
|
-
|
665
|
-
|
677
|
+
# if a task does not specify a core count, Work Queue will allocate an entire
|
678
|
+
# worker node to that task. That's approximated here by saying that it uses
|
679
|
+
# scaling_cores_per_worker.
|
680
|
+
resource_spec = getattr(fut, 'resource_specification', {})
|
681
|
+
cores = resource_spec.get('cores', self.scaling_cores_per_worker)
|
682
|
+
|
683
|
+
outstanding += cores
|
684
|
+
tasks += 1
|
685
|
+
logger.debug(f"Counted {tasks} outstanding tasks with {outstanding} outstanding slots")
|
666
686
|
return outstanding
|
667
687
|
|
668
688
|
@property
|
669
689
|
def workers_per_node(self) -> Union[int, float]:
|
670
|
-
return
|
690
|
+
return self.scaling_cores_per_worker
|
671
691
|
|
672
692
|
def scale_in(self, count: int) -> List[str]:
|
673
693
|
"""Scale in method.
|
parsl/version.py
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: parsl
|
3
|
-
Version: 2024.6.
|
3
|
+
Version: 2024.6.24
|
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.06.
|
6
|
+
Download-URL: https://github.com/Parsl/parsl/archive/2024.06.24.tar.gz
|
7
7
|
Author: The Parsl Team
|
8
8
|
Author-email: parsl@googlegroups.com
|
9
9
|
License: Apache 2.0
|
@@ -8,10 +8,10 @@ parsl/multiprocessing.py,sha256=MyaEcEq-Qf860u7V98u-PZrPNdtzOZL_NW6EhIJnmfQ,1937
|
|
8
8
|
parsl/process_loggers.py,sha256=uQ7Gd0W72Jz7rrcYlOMfLsAEhkRltxXJL2MgdduJjEw,1136
|
9
9
|
parsl/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
10
|
parsl/utils.py,sha256=91FjQiTUY383ueAjkBAgE21My9nba6SP2a2SrbB1r1Q,11250
|
11
|
-
parsl/version.py,sha256=
|
11
|
+
parsl/version.py,sha256=Oe-zqn8K6f0j2CiOdcXe-52-JTc_rWoNfhOpwvqryyg,131
|
12
12
|
parsl/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
13
|
parsl/app/app.py,sha256=D5Ok_gt99mlclM_QfZbquHUBkibyG4tYdUN9ijRwUnQ,8345
|
14
|
-
parsl/app/bash.py,sha256=
|
14
|
+
parsl/app/bash.py,sha256=jm2AvePlCT9DZR7H_4ANDWxatp5dN_22FUlT_gWhZ-g,5528
|
15
15
|
parsl/app/errors.py,sha256=nJmOEPglAISfD3R1UsTZH-avqiSOJgx_DkpdL9B591w,3917
|
16
16
|
parsl/app/futures.py,sha256=XU1NwkoNVsxy3KF5y0Ihsla5hPbhhuSikZInfS7h7Uo,2910
|
17
17
|
parsl/app/python.py,sha256=0hrz2BppVOwwNfh5hnoP70Yv56gSRkIoT-fP9XNb4v4,2331
|
@@ -21,7 +21,7 @@ parsl/channels/__init__.py,sha256=DNFoy_e_vhNTABHVzo4nWilvBYe9W4Na6jj4vYf9El4,37
|
|
21
21
|
parsl/channels/base.py,sha256=bS43-Qv4VSxa83V6fJ54lNBL_eHCu-Ce7-aoy1C9vCc,4193
|
22
22
|
parsl/channels/errors.py,sha256=Dp0FhtHpygn0IjX8nGurx-WrTJm9aw-Jjz3SSUT-jCc,3283
|
23
23
|
parsl/channels/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
|
-
parsl/channels/local/local.py,sha256=
|
24
|
+
parsl/channels/local/local.py,sha256=xqH4HnipUN95NgvyB1r33SiqgQKkARgRKmg0_HnumUk,5311
|
25
25
|
parsl/channels/oauth_ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
26
|
parsl/channels/oauth_ssh/oauth_ssh.py,sha256=GrVOpJ6M6BwtGG4zOU4zakyphzuGY5M3suQ8PyjwyOA,3509
|
27
27
|
parsl/channels/ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -29,27 +29,27 @@ parsl/channels/ssh/ssh.py,sha256=pwbekDM55dwQHrWwNk5wXcQUAf7cGmRahAwZQ89lxDw,950
|
|
29
29
|
parsl/channels/ssh_il/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
30
|
parsl/channels/ssh_il/ssh_il.py,sha256=5XjotlA83UM4zGfnVriC9pE2NzaCT5hqvXZ9v4GG3pg,2410
|
31
31
|
parsl/concurrent/__init__.py,sha256=TvIVceJYaJAsxedNBF3Vdo9lEQNHH_j3uxJv0zUjP7w,3288
|
32
|
-
parsl/configs/ASPIRE1.py,sha256=
|
33
|
-
parsl/configs/Azure.py,sha256=
|
32
|
+
parsl/configs/ASPIRE1.py,sha256=eKnmz0QD3V522emtXMjS6Ppeooe5lzcBgCE6cxunbYY,1718
|
33
|
+
parsl/configs/Azure.py,sha256=CJms3xWmdb-S3CksbHrPF2TfMxJC5I0faqUKCOzVg0k,1268
|
34
34
|
parsl/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
|
-
parsl/configs/ad_hoc.py,sha256=
|
36
|
-
parsl/configs/bridges.py,sha256=
|
37
|
-
parsl/configs/cc_in2p3.py,sha256=
|
38
|
-
parsl/configs/ec2.py,sha256=
|
39
|
-
parsl/configs/expanse.py,sha256=
|
40
|
-
parsl/configs/frontera.py,sha256=
|
41
|
-
parsl/configs/htex_local.py,sha256=
|
42
|
-
parsl/configs/illinoiscluster.py,sha256=
|
43
|
-
parsl/configs/kubernetes.py,sha256=
|
44
|
-
parsl/configs/local_threads.py,sha256=
|
45
|
-
parsl/configs/midway.py,sha256=
|
46
|
-
parsl/configs/osg.py,sha256=
|
47
|
-
parsl/configs/polaris.py,sha256=
|
48
|
-
parsl/configs/stampede2.py,sha256=
|
49
|
-
parsl/configs/summit.py,sha256=
|
50
|
-
parsl/configs/toss3_llnl.py,sha256=
|
51
|
-
parsl/configs/vineex_local.py,sha256=
|
52
|
-
parsl/configs/wqex_local.py,sha256=
|
35
|
+
parsl/configs/ad_hoc.py,sha256=Gwnehd5_K6IzUSPECHnNBljyO-LQ9fyaBClHiT_myp8,1352
|
36
|
+
parsl/configs/bridges.py,sha256=NsTvCiHZHbJj-BsOXOpgS4hCblCHW_lnMa_VMb3SIww,1523
|
37
|
+
parsl/configs/cc_in2p3.py,sha256=T9PjUt2OFFv3w2uXFeKfIDmE7j_nllD3jVouvCmPrCc,785
|
38
|
+
parsl/configs/ec2.py,sha256=5xtlZI4Fc558sYXdM4nQQvQDBNPdzhRRCO14F-8H7Y4,944
|
39
|
+
parsl/configs/expanse.py,sha256=ADUY3GZWSfVKmqFWbgdfC85kRxNPChqOGwly0XdcKSw,1033
|
40
|
+
parsl/configs/frontera.py,sha256=6n0TMvF2IFdJ3g5NdFcM-rg5Na_6dDroF0ZIozk3-LU,1495
|
41
|
+
parsl/configs/htex_local.py,sha256=v6VG9UoWoosy3ls66lToTyGahZFjoLb5ni0nVWKfKNY,542
|
42
|
+
parsl/configs/illinoiscluster.py,sha256=ZR22A8uwFb8tzSzmU1D0kR0qcr5Thr0j-7Nb5hiCgQ8,1170
|
43
|
+
parsl/configs/kubernetes.py,sha256=s6ABVRwHEKsIFi-w9gc5OK-P0UDmlAZsoHc6OZ3oOD4,1325
|
44
|
+
parsl/configs/local_threads.py,sha256=I1VFfGo2TMTrBL9g_rlG3TEqEWkhL-AHpkqJ3lvcTf8,221
|
45
|
+
parsl/configs/midway.py,sha256=An2Z-TbL3b6AP3uQwauxtUqZaYO2CtUiP8XH05hpWks,1221
|
46
|
+
parsl/configs/osg.py,sha256=OVpR2Q33EL6OYGRyj-VpfpbGDhRwGAu3_rT388n1UaY,1220
|
47
|
+
parsl/configs/polaris.py,sha256=rbUdeFC-R4YGcs3cShfs66IuZEKyBx_sFrVdjje_l_g,1731
|
48
|
+
parsl/configs/stampede2.py,sha256=2FTUZ6lQ-0_b0xtpDC6ZngFBhqc_vI45dHOSwrtzl3Y,1405
|
49
|
+
parsl/configs/summit.py,sha256=wCiYDwNomgVAy79Of1_gywtEO0oajlgm9mOvUTBaGSc,1153
|
50
|
+
parsl/configs/toss3_llnl.py,sha256=73ZckKIwTSd-DkAXtqg2U6l8ObPKMAJjs5CerUpJnsQ,1074
|
51
|
+
parsl/configs/vineex_local.py,sha256=6T7A5zYOoEedRQHjRW8GAXzXLCPmSlWOfLfbJl0jZGU,737
|
52
|
+
parsl/configs/wqex_local.py,sha256=XzjAvpHFaBSRVmSkbViTizKSkLR_2XXBP_zJ69KGBCg,871
|
53
53
|
parsl/data_provider/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
54
54
|
parsl/data_provider/data_manager.py,sha256=2pbjNbf-WXAk2PRO_uGRGpH1dma5xfSw0YZpg1SdqHg,7319
|
55
55
|
parsl/data_provider/file_noop.py,sha256=hxg6QNaBPsdTuio8jYJRkprXX9uuneMTXNCUe0YYP-E,498
|
@@ -107,7 +107,7 @@ parsl/executors/taskvine/utils.py,sha256=iSrIogeiauL3UNy_9tiZp1cBSNn6fIJkMYQRVi1
|
|
107
107
|
parsl/executors/workqueue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
108
108
|
parsl/executors/workqueue/errors.py,sha256=XO2naYhAsHHyiOBH6hpObg3mPNDmvMoFqErsj0-v7jc,541
|
109
109
|
parsl/executors/workqueue/exec_parsl_function.py,sha256=RUkJ4JSJAjr7YyRZ58zhMdg8cR5dVV9odUl3AuzNf3k,7802
|
110
|
-
parsl/executors/workqueue/executor.py,sha256=
|
110
|
+
parsl/executors/workqueue/executor.py,sha256=K5q-poZU37LVF4YhX34jKVMIBw5jpBfQ1rUadgPeQBU,50519
|
111
111
|
parsl/executors/workqueue/parsl_coprocess.py,sha256=cF1UmTgVLoey6QzBcbYgEiEsRidSaFfuO54f1HFw_EM,5737
|
112
112
|
parsl/executors/workqueue/parsl_coprocess_stub.py,sha256=_bJmpPIgL42qM6bVzeEKt1Mn1trSP41rtJguXxPGfHI,735
|
113
113
|
parsl/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -464,13 +464,13 @@ parsl/usage_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
464
464
|
parsl/usage_tracking/api.py,sha256=iaCY58Dc5J4UM7_dJzEEs871P1p1HdxBMtNGyVdzc9g,1821
|
465
465
|
parsl/usage_tracking/levels.py,sha256=xbfzYEsd55KiZJ-mzNgPebvOH4rRHum04hROzEf41tU,291
|
466
466
|
parsl/usage_tracking/usage.py,sha256=qNEJ7nPimqd3Y7OWFLdYmNwJ6XDKlyfV_fTzasxsQw8,8690
|
467
|
-
parsl-2024.6.
|
468
|
-
parsl-2024.6.
|
469
|
-
parsl-2024.6.
|
470
|
-
parsl-2024.6.
|
471
|
-
parsl-2024.6.
|
472
|
-
parsl-2024.6.
|
473
|
-
parsl-2024.6.
|
474
|
-
parsl-2024.6.
|
475
|
-
parsl-2024.6.
|
476
|
-
parsl-2024.6.
|
467
|
+
parsl-2024.6.24.data/scripts/exec_parsl_function.py,sha256=RUkJ4JSJAjr7YyRZ58zhMdg8cR5dVV9odUl3AuzNf3k,7802
|
468
|
+
parsl-2024.6.24.data/scripts/interchange.py,sha256=kI1fSF30txw_eEicPSsxbycuz6Sdxiiyy2xrrk7jlZU,31449
|
469
|
+
parsl-2024.6.24.data/scripts/parsl_coprocess.py,sha256=zrVjEqQvFOHxsLufPi00xzMONagjVwLZbavPM7bbjK4,5722
|
470
|
+
parsl-2024.6.24.data/scripts/process_worker_pool.py,sha256=weug6_LAMbqEKQhiI6ZMg8r3e-XBDw1-L5_COEt7caM,41879
|
471
|
+
parsl-2024.6.24.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
472
|
+
parsl-2024.6.24.dist-info/METADATA,sha256=--saDEksktTAsMhTeFRsbVuLvONDrSTQ9-mFrcTUaHU,4124
|
473
|
+
parsl-2024.6.24.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
474
|
+
parsl-2024.6.24.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
|
475
|
+
parsl-2024.6.24.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
|
476
|
+
parsl-2024.6.24.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|