parsl 2024.9.2__py3-none-any.whl → 2024.9.16__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/executors/high_throughput/executor.py +1 -17
- parsl/executors/taskvine/executor.py +6 -4
- parsl/launchers/launchers.py +0 -6
- parsl/tests/configs/slurm_local.py +26 -0
- parsl/tests/test_htex/test_htex.py +0 -12
- parsl/tests/test_mpi_apps/test_mpiex.py +1 -1
- parsl/tests/test_scaling/test_scale_down_htex_auto_scale.py +1 -1
- parsl/tests/test_scaling/test_scale_down_htex_unregistered.py +1 -1
- parsl/version.py +1 -1
- {parsl-2024.9.2.dist-info → parsl-2024.9.16.dist-info}/METADATA +2 -2
- {parsl-2024.9.2.dist-info → parsl-2024.9.16.dist-info}/RECORD +19 -18
- {parsl-2024.9.2.data → parsl-2024.9.16.data}/scripts/exec_parsl_function.py +0 -0
- {parsl-2024.9.2.data → parsl-2024.9.16.data}/scripts/interchange.py +0 -0
- {parsl-2024.9.2.data → parsl-2024.9.16.data}/scripts/parsl_coprocess.py +0 -0
- {parsl-2024.9.2.data → parsl-2024.9.16.data}/scripts/process_worker_pool.py +0 -0
- {parsl-2024.9.2.dist-info → parsl-2024.9.16.dist-info}/LICENSE +0 -0
- {parsl-2024.9.2.dist-info → parsl-2024.9.16.dist-info}/WHEEL +0 -0
- {parsl-2024.9.2.dist-info → parsl-2024.9.16.dist-info}/entry_points.txt +0 -0
- {parsl-2024.9.2.dist-info → parsl-2024.9.16.dist-info}/top_level.txt +0 -0
@@ -199,9 +199,6 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
199
199
|
will check the available memory at startup and limit the number of workers such that
|
200
200
|
the there's sufficient memory for each worker. Default: None
|
201
201
|
|
202
|
-
max_workers : int
|
203
|
-
Deprecated. Please use max_workers_per_node instead.
|
204
|
-
|
205
202
|
max_workers_per_node : int
|
206
203
|
Caps the number of workers launched per node. Default: None
|
207
204
|
|
@@ -239,7 +236,6 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
239
236
|
worker_debug: bool = False,
|
240
237
|
cores_per_worker: float = 1.0,
|
241
238
|
mem_per_worker: Optional[float] = None,
|
242
|
-
max_workers: Optional[Union[int, float]] = None,
|
243
239
|
max_workers_per_node: Optional[Union[int, float]] = None,
|
244
240
|
cpu_affinity: str = 'none',
|
245
241
|
available_accelerators: Union[int, Sequence[str]] = (),
|
@@ -272,9 +268,7 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
272
268
|
else:
|
273
269
|
self.all_addresses = ','.join(get_all_addresses())
|
274
270
|
|
275
|
-
|
276
|
-
self._warn_deprecated("max_workers", "max_workers_per_node")
|
277
|
-
self.max_workers_per_node = max_workers_per_node or max_workers or float("inf")
|
271
|
+
self.max_workers_per_node = max_workers_per_node or float("inf")
|
278
272
|
|
279
273
|
mem_slots = self.max_workers_per_node
|
280
274
|
cpu_slots = self.max_workers_per_node
|
@@ -335,16 +329,6 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
335
329
|
stacklevel=2
|
336
330
|
)
|
337
331
|
|
338
|
-
@property
|
339
|
-
def max_workers(self):
|
340
|
-
self._warn_deprecated("max_workers", "max_workers_per_node")
|
341
|
-
return self.max_workers_per_node
|
342
|
-
|
343
|
-
@max_workers.setter
|
344
|
-
def max_workers(self, val: Union[int, float]):
|
345
|
-
self._warn_deprecated("max_workers", "max_workers_per_node")
|
346
|
-
self.max_workers_per_node = val
|
347
|
-
|
348
332
|
@property
|
349
333
|
def logdir(self):
|
350
334
|
return "{}/{}".format(self.run_dir, self.label)
|
@@ -3,6 +3,7 @@ Cooperative Computing Lab (CCL) at Notre Dame to provide a fault-tolerant,
|
|
3
3
|
high-throughput system for delegating Parsl tasks to thousands of remote machines
|
4
4
|
"""
|
5
5
|
|
6
|
+
import getpass
|
6
7
|
import hashlib
|
7
8
|
import inspect
|
8
9
|
import itertools
|
@@ -18,6 +19,7 @@ import tempfile
|
|
18
19
|
import threading
|
19
20
|
import uuid
|
20
21
|
from concurrent.futures import Future
|
22
|
+
from datetime import datetime
|
21
23
|
from typing import List, Literal, Optional, Union
|
22
24
|
|
23
25
|
# Import other libraries
|
@@ -215,9 +217,9 @@ class TaskVineExecutor(BlockProviderExecutor, putils.RepresentationMixin):
|
|
215
217
|
|
216
218
|
# Create directories for data and results
|
217
219
|
log_dir = os.path.join(run_dir, self.label)
|
218
|
-
self._function_data_dir = os.path.join(run_dir, self.label, "function_data")
|
219
220
|
os.makedirs(log_dir)
|
220
|
-
|
221
|
+
tmp_prefix = f'{self.label}-{getpass.getuser()}-{datetime.now().strftime("%Y%m%d%H%M%S%f")}-'
|
222
|
+
self._function_data_dir = tempfile.TemporaryDirectory(prefix=tmp_prefix)
|
221
223
|
|
222
224
|
# put TaskVine logs outside of a Parsl run as TaskVine caches between runs while
|
223
225
|
# Parsl does not.
|
@@ -227,7 +229,7 @@ class TaskVineExecutor(BlockProviderExecutor, putils.RepresentationMixin):
|
|
227
229
|
|
228
230
|
# factory logs go with manager logs regardless
|
229
231
|
self.factory_config.scratch_dir = self.manager_config.vine_log_dir
|
230
|
-
logger.debug(f"Function data directory: {self._function_data_dir}, log directory: {log_dir}")
|
232
|
+
logger.debug(f"Function data directory: {self._function_data_dir.name}, log directory: {log_dir}")
|
231
233
|
logger.debug(
|
232
234
|
f"TaskVine manager log directory: {self.manager_config.vine_log_dir}, "
|
233
235
|
f"factory log directory: {self.factory_config.scratch_dir}")
|
@@ -293,7 +295,7 @@ class TaskVineExecutor(BlockProviderExecutor, putils.RepresentationMixin):
|
|
293
295
|
'map': Pickled file with a dict between local parsl names, and remote taskvine names.
|
294
296
|
"""
|
295
297
|
task_dir = "{:04d}".format(executor_task_id)
|
296
|
-
return os.path.join(self._function_data_dir, task_dir, *path_components)
|
298
|
+
return os.path.join(self._function_data_dir.name, task_dir, *path_components)
|
297
299
|
|
298
300
|
def submit(self, func, resource_specification, *args, **kwargs):
|
299
301
|
"""Processes the Parsl app by its arguments and submits the function
|
parsl/launchers/launchers.py
CHANGED
@@ -61,7 +61,6 @@ class SingleNodeLauncher(Launcher):
|
|
61
61
|
"""
|
62
62
|
Args:
|
63
63
|
- command (string): The command string to be launched
|
64
|
-
- task_block (string) : bash evaluated string.
|
65
64
|
- fail_on_any: If True, return a nonzero exit code if any worker failed, otherwise zero;
|
66
65
|
if False, return a nonzero exit code if all workers failed, otherwise zero.
|
67
66
|
|
@@ -131,7 +130,6 @@ class GnuParallelLauncher(Launcher):
|
|
131
130
|
"""
|
132
131
|
Args:
|
133
132
|
- command (string): The command string to be launched
|
134
|
-
- task_block (string) : bash evaluated string.
|
135
133
|
|
136
134
|
"""
|
137
135
|
task_blocks = tasks_per_node * nodes_per_block
|
@@ -208,7 +206,6 @@ class MpiExecLauncher(Launcher):
|
|
208
206
|
"""
|
209
207
|
Args:
|
210
208
|
- command (string): The command string to be launched
|
211
|
-
- task_block (string) : bash evaluated string.
|
212
209
|
|
213
210
|
"""
|
214
211
|
task_blocks = tasks_per_node * nodes_per_block
|
@@ -263,7 +260,6 @@ class MpiRunLauncher(Launcher):
|
|
263
260
|
"""
|
264
261
|
Args:
|
265
262
|
- command (string): The command string to be launched
|
266
|
-
- task_block (string) : bash evaluated string.
|
267
263
|
|
268
264
|
"""
|
269
265
|
task_blocks = tasks_per_node * nodes_per_block
|
@@ -311,7 +307,6 @@ class SrunLauncher(Launcher):
|
|
311
307
|
"""
|
312
308
|
Args:
|
313
309
|
- command (string): The command string to be launched
|
314
|
-
- task_block (string) : bash evaluated string.
|
315
310
|
|
316
311
|
"""
|
317
312
|
task_blocks = tasks_per_node * nodes_per_block
|
@@ -363,7 +358,6 @@ class SrunMPILauncher(Launcher):
|
|
363
358
|
"""
|
364
359
|
Args:
|
365
360
|
- command (string): The command string to be launched
|
366
|
-
- task_block (string) : bash evaluated string.
|
367
361
|
|
368
362
|
"""
|
369
363
|
task_blocks = tasks_per_node * nodes_per_block
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from parsl.channels import LocalChannel
|
2
|
+
from parsl.config import Config
|
3
|
+
from parsl.executors import HighThroughputExecutor
|
4
|
+
from parsl.launchers import SrunLauncher
|
5
|
+
from parsl.providers import SlurmProvider
|
6
|
+
|
7
|
+
|
8
|
+
def fresh_config():
|
9
|
+
return Config(
|
10
|
+
executors=[
|
11
|
+
HighThroughputExecutor(
|
12
|
+
label="docker_slurm",
|
13
|
+
encrypted=True,
|
14
|
+
provider=SlurmProvider(
|
15
|
+
cmd_timeout=60, # Add extra time for slow scheduler responses
|
16
|
+
channel=LocalChannel(),
|
17
|
+
nodes_per_block=1,
|
18
|
+
init_blocks=1,
|
19
|
+
min_blocks=1,
|
20
|
+
max_blocks=1,
|
21
|
+
walltime='00:10:00',
|
22
|
+
launcher=SrunLauncher(),
|
23
|
+
),
|
24
|
+
)
|
25
|
+
],
|
26
|
+
)
|
@@ -126,18 +126,6 @@ def test_htex_shutdown(
|
|
126
126
|
assert "HighThroughputExecutor has not started" in caplog.text
|
127
127
|
|
128
128
|
|
129
|
-
@pytest.mark.local
|
130
|
-
def test_max_workers_per_node():
|
131
|
-
with pytest.warns(DeprecationWarning) as record:
|
132
|
-
htex = HighThroughputExecutor(max_workers_per_node=1, max_workers=2)
|
133
|
-
|
134
|
-
warning_msg = "max_workers is deprecated"
|
135
|
-
assert any(warning_msg in str(warning.message) for warning in record)
|
136
|
-
|
137
|
-
# Ensure max_workers_per_node takes precedence
|
138
|
-
assert htex.max_workers_per_node == htex.max_workers == 1
|
139
|
-
|
140
|
-
|
141
129
|
@pytest.mark.local
|
142
130
|
@pytest.mark.parametrize("cmd", (None, "custom-launch-cmd"))
|
143
131
|
def test_htex_worker_pool_launch_cmd(cmd: Optional[str]):
|
@@ -43,7 +43,7 @@ def test_init():
|
|
43
43
|
|
44
44
|
new_kwargs = {'max_workers_per_block', 'mpi_launcher'}
|
45
45
|
excluded_kwargs = {'available_accelerators', 'cores_per_worker', 'max_workers_per_node',
|
46
|
-
'mem_per_worker', 'cpu_affinity', '
|
46
|
+
'mem_per_worker', 'cpu_affinity', 'manager_selector'}
|
47
47
|
|
48
48
|
# Get the kwargs from both HTEx and MPIEx
|
49
49
|
htex_kwargs = set(signature(HighThroughputExecutor.__init__).parameters)
|
parsl/version.py
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: parsl
|
3
|
-
Version: 2024.9.
|
3
|
+
Version: 2024.9.16
|
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.09.
|
6
|
+
Download-URL: https://github.com/Parsl/parsl/archive/2024.09.16.tar.gz
|
7
7
|
Author: The Parsl Team
|
8
8
|
Author-email: parsl@googlegroups.com
|
9
9
|
License: Apache 2.0
|
@@ -8,7 +8,7 @@ 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=kFkGZnTdDKULeAQq7Mxrwa9mwFhP0syXf44tfHz8DrA,131
|
12
12
|
parsl/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
13
|
parsl/app/app.py,sha256=0gbM4AH2OtFOLsv07I5nglpElcwMSOi-FzdZZfrk7So,8532
|
14
14
|
parsl/app/bash.py,sha256=jm2AvePlCT9DZR7H_4ANDWxatp5dN_22FUlT_gWhZ-g,5528
|
@@ -80,7 +80,7 @@ parsl/executors/flux/executor.py,sha256=8_xakLUu5zNJAHL0LbeTCFEWqWzRK1eE-3ep4GII
|
|
80
80
|
parsl/executors/flux/flux_instance_manager.py,sha256=5T3Rp7ZM-mlT0Pf0Gxgs5_YmnaPrSF9ec7zvRfLfYJw,2129
|
81
81
|
parsl/executors/high_throughput/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
82
82
|
parsl/executors/high_throughput/errors.py,sha256=Sak8e8UpiEcXefUjMHbhyXc4Rn7kJtOoh7L8wreBQdk,1638
|
83
|
-
parsl/executors/high_throughput/executor.py,sha256=
|
83
|
+
parsl/executors/high_throughput/executor.py,sha256=aXgfIgjIR9XLSaX_Oiov2a9PISuUbQNfVw0-Xhwqq3w,37305
|
84
84
|
parsl/executors/high_throughput/interchange.py,sha256=WP9zseYYb0B8522j8wt3yhO12bzmFIxdCIepEU-4oWA,30877
|
85
85
|
parsl/executors/high_throughput/manager_record.py,sha256=yn3L8TUJFkgm2lX1x0SeS9mkvJowC0s2VIMCFiU7ThM,455
|
86
86
|
parsl/executors/high_throughput/manager_selector.py,sha256=uRaEtcbDO2vXf8vjEcm7bfZVdeUlSPTRc3G4oFRO29M,820
|
@@ -98,7 +98,7 @@ parsl/executors/radical/rpex_worker.py,sha256=qli6i6ejKubTSv3lAE3YiW8RlkHrfl4Jhr
|
|
98
98
|
parsl/executors/taskvine/__init__.py,sha256=9rwp3M8B0YyEhZMLO0RHaNw7u1nc01WHbXLqnBTanu0,293
|
99
99
|
parsl/executors/taskvine/errors.py,sha256=euIYkSslrNSI85kyi2s0xzOaO9ik4c1fYHstMIeiBJk,652
|
100
100
|
parsl/executors/taskvine/exec_parsl_function.py,sha256=ftGdJU78lKPPkphSHlEi4rj164mhuMHJjghVqfgeXKk,7085
|
101
|
-
parsl/executors/taskvine/executor.py,sha256=
|
101
|
+
parsl/executors/taskvine/executor.py,sha256=y1x44p_GRlaOqLr0J92ungU3CuDeull6MW-lEedzu2M,31164
|
102
102
|
parsl/executors/taskvine/factory.py,sha256=rWpEoFphLzqO3HEYyDEbQa14iyvgkdZg7hLZuaY39gQ,2638
|
103
103
|
parsl/executors/taskvine/factory_config.py,sha256=AbE2fN2snrF5ITYrrS4DnGn2XkJHUFr_17DYHDHIwq0,3693
|
104
104
|
parsl/executors/taskvine/manager.py,sha256=fwRSgYWpbsnr5jXlzvX0sQjOqryqn_77K_svJJ1HJ2U,25631
|
@@ -119,7 +119,7 @@ parsl/jobs/strategy.py,sha256=KYcIpjWVKLYbM0TXhue9Zp2a7I1zkbHx4raPFiDlewA,13799
|
|
119
119
|
parsl/launchers/__init__.py,sha256=jJeDOWGKJjvpmWTLsj1zSqce_UAhWRc_IO-TzaOAlII,579
|
120
120
|
parsl/launchers/base.py,sha256=CblcvPTJiu-MNLWaRtFe29SZQ0BpTOlaY8CGcHdlHIE,538
|
121
121
|
parsl/launchers/errors.py,sha256=8YMV_CHpBNVa4eXkGE4x5DaFQlZkDCRCHmBktYcY6TA,467
|
122
|
-
parsl/launchers/launchers.py,sha256=
|
122
|
+
parsl/launchers/launchers.py,sha256=cQsNsHuCOL_nQTjPXf0--YsgsDoMoJ77bO1Wt4ncLjs,15134
|
123
123
|
parsl/monitoring/__init__.py,sha256=0ywNz6i0lM1xo_7_BIxhETDGeVd2C_0wwD7qgeaMR4c,83
|
124
124
|
parsl/monitoring/db_manager.py,sha256=l7Qiub4JsR6QUzTYUAJ9sVytZOvba2QMBdFH3cGbNIo,33336
|
125
125
|
parsl/monitoring/errors.py,sha256=D6jpYzEzp0d6FmVKGqhvjAxr4ztZfJX2s-aXemH9bBU,148
|
@@ -240,6 +240,7 @@ parsl/tests/configs/midway.py,sha256=ZLdAUDR5paPA8gheRNLI0q9Vj5HcnCYuIttu-C-TlJs
|
|
240
240
|
parsl/tests/configs/nscc_singapore.py,sha256=ECENZcBuCjkY6OWZstEMhfMrmjRmjCc7ELdfGEp7ly4,1481
|
241
241
|
parsl/tests/configs/osg_htex.py,sha256=x-C_r7Kpwvqroc4Ay1Yaya9K6_j7IU1ywqPegBU7HKI,1371
|
242
242
|
parsl/tests/configs/petrelkube.py,sha256=uUxrZrD_cF-_t6ytlRA_MUtw8RQbpW0CmNRbw3mWs1o,1699
|
243
|
+
parsl/tests/configs/slurm_local.py,sha256=jvrNIgNUtjp0OE4HONxa7xSpDa9LQNWtav4BXpF_PY4,821
|
243
244
|
parsl/tests/configs/summit.py,sha256=0LbuTVmc8nl2eGiqAayhV0RCx0pg5kUpYhz9LvTFhDo,1378
|
244
245
|
parsl/tests/configs/taskvine_ex.py,sha256=Nsovxtb59q6ta2opGrl7ufWcavYQtzSPrscLmaLYkUU,472
|
245
246
|
parsl/tests/configs/theta.py,sha256=bkwcFcZYSkJOfLdcPHiAN2BRRGz3nLTaPylvdm3dcJ8,1298
|
@@ -337,7 +338,7 @@ parsl/tests/test_htex/test_cpu_affinity_explicit.py,sha256=DVHrRCskDbJIrfB5YSi3Z
|
|
337
338
|
parsl/tests/test_htex/test_disconnected_blocks.py,sha256=3V1Ol9gMS6knjLTgIjB5GrunRSp4ANsJ_2vAvpyMR6c,1858
|
338
339
|
parsl/tests/test_htex/test_disconnected_blocks_failing_provider.py,sha256=eOdipRpKMOkWAXB3UtY1UjqTiwfNs_csNLve8vllG_M,2040
|
339
340
|
parsl/tests/test_htex/test_drain.py,sha256=Z2Z5-3NfLL9tMgJh4JkVKLZZDl3Z2gDAbEFHDSGdItw,2288
|
340
|
-
parsl/tests/test_htex/test_htex.py,sha256=
|
341
|
+
parsl/tests/test_htex/test_htex.py,sha256=J1uEGezic8ziPPZsQwfK9iNiTJ53NqXMhIg9CUunjZw,4901
|
341
342
|
parsl/tests/test_htex/test_manager_failure.py,sha256=N-obuSZ8f7XA_XcddoN2LWKSVtpKUZvTHb7BFelS3iQ,1143
|
342
343
|
parsl/tests/test_htex/test_managers_command.py,sha256=Y-eUjtBzwW9erCYdph9bOesbkUvX8QUPqXt27DCgVS8,951
|
343
344
|
parsl/tests/test_htex/test_missing_worker.py,sha256=gyp5i7_t-JHyJGtz_eXZKKBY5w8oqLOIxO6cJgGJMtQ,745
|
@@ -360,7 +361,7 @@ parsl/tests/test_mpi_apps/test_bad_mpi_config.py,sha256=QKvEUSrHIBrvqu2fRj1MAqxs
|
|
360
361
|
parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py,sha256=9RaRgfweywYvcrTvteJXJwt_RSiyWSjBgii5LCnisJg,5461
|
361
362
|
parsl/tests/test_mpi_apps/test_mpi_prefix.py,sha256=yJslZvYK3JeL9UgxMwF9DDPR9QD4zJLGVjubD0F-utc,1950
|
362
363
|
parsl/tests/test_mpi_apps/test_mpi_scheduler.py,sha256=YdV8A-m67DHk9wxgNpj69wwGEKrFGL20KAC1TzLke3c,6332
|
363
|
-
parsl/tests/test_mpi_apps/test_mpiex.py,sha256=
|
364
|
+
parsl/tests/test_mpi_apps/test_mpiex.py,sha256=mlFdHK3A1B6NsEhxTQQX8lhs9qVza36FMG99vNrBRW4,2021
|
364
365
|
parsl/tests/test_mpi_apps/test_resource_spec.py,sha256=aJo_1Nr0t-5pzw_rpDWEVp41RcICWG9sAeFUFXXJoW8,3828
|
365
366
|
parsl/tests/test_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
366
367
|
parsl/tests/test_providers/test_cobalt_deprecation_warning.py,sha256=UN2W6xJxuLx2euPqArORKFEU2VXez9_PYqq-0rZHanQ,391
|
@@ -418,8 +419,8 @@ parsl/tests/test_scaling/test_block_error_handler.py,sha256=OS1IyiK8gjRFI1VzpmOv
|
|
418
419
|
parsl/tests/test_scaling/test_regression_1621.py,sha256=cAPjJ0p_VLZm9Z6EK7QuOgeO5KpcUXQ0ar698T6uMy4,1944
|
419
420
|
parsl/tests/test_scaling/test_regression_3568_scaledown_vs_MISSING.py,sha256=uL4dmaxqix9K6P-5vDTFqPye1BIeyynJjiYZBx5XI3E,2982
|
420
421
|
parsl/tests/test_scaling/test_scale_down.py,sha256=u8TbbVM2PXgy4Zg7bAkh0C-KQuF1kD_WEsO79R0Y-UE,2820
|
421
|
-
parsl/tests/test_scaling/test_scale_down_htex_auto_scale.py,sha256=
|
422
|
-
parsl/tests/test_scaling/test_scale_down_htex_unregistered.py,sha256=
|
422
|
+
parsl/tests/test_scaling/test_scale_down_htex_auto_scale.py,sha256=PKfH18sA11oNhf2Ub8BJjxbxdIfzEeL1Lk2E0VhLJrs,4605
|
423
|
+
parsl/tests/test_scaling/test_scale_down_htex_unregistered.py,sha256=buNGB2wKG9omLf4d1R07zaxl1slVPuWtH8e1z4Hj70I,2038
|
423
424
|
parsl/tests/test_scaling/test_shutdown_scalein.py,sha256=Jzi0OH7UE6qvQ4ZpsfHu8lySpkMDgorn2elAzMNE6wI,2397
|
424
425
|
parsl/tests/test_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
425
426
|
parsl/tests/test_serialization/test_2555_caching_deserializer.py,sha256=jEXJvbriaLVI7frV5t-iJRKYyeQ7a9_-t3X9lhhBWQo,767
|
@@ -461,13 +462,13 @@ parsl/usage_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
461
462
|
parsl/usage_tracking/api.py,sha256=iaCY58Dc5J4UM7_dJzEEs871P1p1HdxBMtNGyVdzc9g,1821
|
462
463
|
parsl/usage_tracking/levels.py,sha256=xbfzYEsd55KiZJ-mzNgPebvOH4rRHum04hROzEf41tU,291
|
463
464
|
parsl/usage_tracking/usage.py,sha256=qNEJ7nPimqd3Y7OWFLdYmNwJ6XDKlyfV_fTzasxsQw8,8690
|
464
|
-
parsl-2024.9.
|
465
|
-
parsl-2024.9.
|
466
|
-
parsl-2024.9.
|
467
|
-
parsl-2024.9.
|
468
|
-
parsl-2024.9.
|
469
|
-
parsl-2024.9.
|
470
|
-
parsl-2024.9.
|
471
|
-
parsl-2024.9.
|
472
|
-
parsl-2024.9.
|
473
|
-
parsl-2024.9.
|
465
|
+
parsl-2024.9.16.data/scripts/exec_parsl_function.py,sha256=RUkJ4JSJAjr7YyRZ58zhMdg8cR5dVV9odUl3AuzNf3k,7802
|
466
|
+
parsl-2024.9.16.data/scripts/interchange.py,sha256=2tsbwd055SEnSpWLNNoqMW6o6ohRJFNSgvgN_umsqN8,30864
|
467
|
+
parsl-2024.9.16.data/scripts/parsl_coprocess.py,sha256=zrVjEqQvFOHxsLufPi00xzMONagjVwLZbavPM7bbjK4,5722
|
468
|
+
parsl-2024.9.16.data/scripts/process_worker_pool.py,sha256=78QKnV5KbY_vcteC6k60gpDE4wEk6hsciet_qzs9QoU,43061
|
469
|
+
parsl-2024.9.16.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
470
|
+
parsl-2024.9.16.dist-info/METADATA,sha256=TRzRmB2ygjJqf_TbIALPvB4D0qgvMWjCW_IHR8jIVjQ,4121
|
471
|
+
parsl-2024.9.16.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
472
|
+
parsl-2024.9.16.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
|
473
|
+
parsl-2024.9.16.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
|
474
|
+
parsl-2024.9.16.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
|