parsl 2024.8.26__py3-none-any.whl → 2024.9.9__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.
@@ -0,0 +1,34 @@
1
+ from parsl.config import Config
2
+ from parsl.executors import HighThroughputExecutor
3
+ from parsl.launchers import MpiRunLauncher
4
+ from parsl.providers import PBSProProvider
5
+
6
+ config = Config(
7
+ executors=[
8
+ HighThroughputExecutor(
9
+ label="Improv_multinode",
10
+ max_workers_per_node=32,
11
+ provider=PBSProProvider(
12
+ account="YOUR_ALLOCATION_ON_IMPROV",
13
+ # PBS directives (header lines), for example:
14
+ # scheduler_options='#PBS -l mem=4gb',
15
+ scheduler_options='',
16
+
17
+ queue="compute",
18
+
19
+ # Command to be run before starting a worker:
20
+ # **WARNING** Improv requires an openmpi module to be
21
+ # loaded for the MpiRunLauncher. Add additional env
22
+ # load commands to this multiline string.
23
+ worker_init='''
24
+ module load gcc/13.2.0;
25
+ module load openmpi/5.0.3-gcc-13.2.0; ''',
26
+ launcher=MpiRunLauncher(),
27
+
28
+ # number of compute nodes allocated for each block
29
+ nodes_per_block=2,
30
+ walltime='00:10:00'
31
+ ),
32
+ ),
33
+ ],
34
+ )
@@ -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
- if max_workers:
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
- os.makedirs(self._function_data_dir)
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
@@ -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', 'max_workers', 'manager_selector'}
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)
@@ -23,7 +23,7 @@ def local_config():
23
23
  poll_period=100,
24
24
  label="htex_local",
25
25
  address="127.0.0.1",
26
- max_workers=1,
26
+ max_workers_per_node=1,
27
27
  encrypted=True,
28
28
  provider=LocalProvider(
29
29
  channel=LocalChannel(),
@@ -27,7 +27,7 @@ def local_config():
27
27
  poll_period=100,
28
28
  label="htex_local",
29
29
  address="127.0.0.1",
30
- max_workers=1,
30
+ max_workers_per_node=1,
31
31
  encrypted=True,
32
32
  launch_cmd="sleep inf",
33
33
  provider=LocalProvider(
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.08.26'
6
+ VERSION = '2024.09.09'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsl
3
- Version: 2024.8.26
3
+ Version: 2024.9.9
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.08.26.tar.gz
6
+ Download-URL: https://github.com/Parsl/parsl/archive/2024.09.09.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=A5qAfJZdMOvpSxHivCOIgDMa32MpnZXa_O6ZHtOGoGs,131
11
+ parsl/version.py,sha256=ANbI0EcghYu4YwcssLEJd6Az-dJPT0ZPg_qnJCLIyKY,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
@@ -39,6 +39,7 @@ parsl/configs/expanse.py,sha256=ADUY3GZWSfVKmqFWbgdfC85kRxNPChqOGwly0XdcKSw,1033
39
39
  parsl/configs/frontera.py,sha256=6n0TMvF2IFdJ3g5NdFcM-rg5Na_6dDroF0ZIozk3-LU,1495
40
40
  parsl/configs/htex_local.py,sha256=v6VG9UoWoosy3ls66lToTyGahZFjoLb5ni0nVWKfKNY,542
41
41
  parsl/configs/illinoiscluster.py,sha256=ZR22A8uwFb8tzSzmU1D0kR0qcr5Thr0j-7Nb5hiCgQ8,1170
42
+ parsl/configs/improv.py,sha256=le9fDip-Mr-HqKObiyHXbdR-Ne7cy15Ao5ONoUzCSaE,1252
42
43
  parsl/configs/kubernetes.py,sha256=s6ABVRwHEKsIFi-w9gc5OK-P0UDmlAZsoHc6OZ3oOD4,1325
43
44
  parsl/configs/local_threads.py,sha256=I1VFfGo2TMTrBL9g_rlG3TEqEWkhL-AHpkqJ3lvcTf8,221
44
45
  parsl/configs/midway.py,sha256=An2Z-TbL3b6AP3uQwauxtUqZaYO2CtUiP8XH05hpWks,1221
@@ -79,7 +80,7 @@ parsl/executors/flux/executor.py,sha256=8_xakLUu5zNJAHL0LbeTCFEWqWzRK1eE-3ep4GII
79
80
  parsl/executors/flux/flux_instance_manager.py,sha256=5T3Rp7ZM-mlT0Pf0Gxgs5_YmnaPrSF9ec7zvRfLfYJw,2129
80
81
  parsl/executors/high_throughput/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
82
  parsl/executors/high_throughput/errors.py,sha256=Sak8e8UpiEcXefUjMHbhyXc4Rn7kJtOoh7L8wreBQdk,1638
82
- parsl/executors/high_throughput/executor.py,sha256=x6DGXdriDIPpfDK6yms7XTUrkwxNCHNfz6X9kJRvt2w,37904
83
+ parsl/executors/high_throughput/executor.py,sha256=aXgfIgjIR9XLSaX_Oiov2a9PISuUbQNfVw0-Xhwqq3w,37305
83
84
  parsl/executors/high_throughput/interchange.py,sha256=WP9zseYYb0B8522j8wt3yhO12bzmFIxdCIepEU-4oWA,30877
84
85
  parsl/executors/high_throughput/manager_record.py,sha256=yn3L8TUJFkgm2lX1x0SeS9mkvJowC0s2VIMCFiU7ThM,455
85
86
  parsl/executors/high_throughput/manager_selector.py,sha256=uRaEtcbDO2vXf8vjEcm7bfZVdeUlSPTRc3G4oFRO29M,820
@@ -97,7 +98,7 @@ parsl/executors/radical/rpex_worker.py,sha256=qli6i6ejKubTSv3lAE3YiW8RlkHrfl4Jhr
97
98
  parsl/executors/taskvine/__init__.py,sha256=9rwp3M8B0YyEhZMLO0RHaNw7u1nc01WHbXLqnBTanu0,293
98
99
  parsl/executors/taskvine/errors.py,sha256=euIYkSslrNSI85kyi2s0xzOaO9ik4c1fYHstMIeiBJk,652
99
100
  parsl/executors/taskvine/exec_parsl_function.py,sha256=ftGdJU78lKPPkphSHlEi4rj164mhuMHJjghVqfgeXKk,7085
100
- parsl/executors/taskvine/executor.py,sha256=yODov_9LNyuxJga2Ki-fp1WEHwDcwNsLIBaqP8bAvfw,31056
101
+ parsl/executors/taskvine/executor.py,sha256=y1x44p_GRlaOqLr0J92ungU3CuDeull6MW-lEedzu2M,31164
101
102
  parsl/executors/taskvine/factory.py,sha256=rWpEoFphLzqO3HEYyDEbQa14iyvgkdZg7hLZuaY39gQ,2638
102
103
  parsl/executors/taskvine/factory_config.py,sha256=AbE2fN2snrF5ITYrrS4DnGn2XkJHUFr_17DYHDHIwq0,3693
103
104
  parsl/executors/taskvine/manager.py,sha256=fwRSgYWpbsnr5jXlzvX0sQjOqryqn_77K_svJJ1HJ2U,25631
@@ -239,6 +240,7 @@ parsl/tests/configs/midway.py,sha256=ZLdAUDR5paPA8gheRNLI0q9Vj5HcnCYuIttu-C-TlJs
239
240
  parsl/tests/configs/nscc_singapore.py,sha256=ECENZcBuCjkY6OWZstEMhfMrmjRmjCc7ELdfGEp7ly4,1481
240
241
  parsl/tests/configs/osg_htex.py,sha256=x-C_r7Kpwvqroc4Ay1Yaya9K6_j7IU1ywqPegBU7HKI,1371
241
242
  parsl/tests/configs/petrelkube.py,sha256=uUxrZrD_cF-_t6ytlRA_MUtw8RQbpW0CmNRbw3mWs1o,1699
243
+ parsl/tests/configs/slurm_local.py,sha256=jvrNIgNUtjp0OE4HONxa7xSpDa9LQNWtav4BXpF_PY4,821
242
244
  parsl/tests/configs/summit.py,sha256=0LbuTVmc8nl2eGiqAayhV0RCx0pg5kUpYhz9LvTFhDo,1378
243
245
  parsl/tests/configs/taskvine_ex.py,sha256=Nsovxtb59q6ta2opGrl7ufWcavYQtzSPrscLmaLYkUU,472
244
246
  parsl/tests/configs/theta.py,sha256=bkwcFcZYSkJOfLdcPHiAN2BRRGz3nLTaPylvdm3dcJ8,1298
@@ -336,7 +338,7 @@ parsl/tests/test_htex/test_cpu_affinity_explicit.py,sha256=DVHrRCskDbJIrfB5YSi3Z
336
338
  parsl/tests/test_htex/test_disconnected_blocks.py,sha256=3V1Ol9gMS6knjLTgIjB5GrunRSp4ANsJ_2vAvpyMR6c,1858
337
339
  parsl/tests/test_htex/test_disconnected_blocks_failing_provider.py,sha256=eOdipRpKMOkWAXB3UtY1UjqTiwfNs_csNLve8vllG_M,2040
338
340
  parsl/tests/test_htex/test_drain.py,sha256=Z2Z5-3NfLL9tMgJh4JkVKLZZDl3Z2gDAbEFHDSGdItw,2288
339
- parsl/tests/test_htex/test_htex.py,sha256=5ylQvWgmSLP3lOdoHxqK9wkvAgfgeJx6gihKPkN8XfU,5320
341
+ parsl/tests/test_htex/test_htex.py,sha256=J1uEGezic8ziPPZsQwfK9iNiTJ53NqXMhIg9CUunjZw,4901
340
342
  parsl/tests/test_htex/test_manager_failure.py,sha256=N-obuSZ8f7XA_XcddoN2LWKSVtpKUZvTHb7BFelS3iQ,1143
341
343
  parsl/tests/test_htex/test_managers_command.py,sha256=Y-eUjtBzwW9erCYdph9bOesbkUvX8QUPqXt27DCgVS8,951
342
344
  parsl/tests/test_htex/test_missing_worker.py,sha256=gyp5i7_t-JHyJGtz_eXZKKBY5w8oqLOIxO6cJgGJMtQ,745
@@ -359,7 +361,7 @@ parsl/tests/test_mpi_apps/test_bad_mpi_config.py,sha256=QKvEUSrHIBrvqu2fRj1MAqxs
359
361
  parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py,sha256=9RaRgfweywYvcrTvteJXJwt_RSiyWSjBgii5LCnisJg,5461
360
362
  parsl/tests/test_mpi_apps/test_mpi_prefix.py,sha256=yJslZvYK3JeL9UgxMwF9DDPR9QD4zJLGVjubD0F-utc,1950
361
363
  parsl/tests/test_mpi_apps/test_mpi_scheduler.py,sha256=YdV8A-m67DHk9wxgNpj69wwGEKrFGL20KAC1TzLke3c,6332
362
- parsl/tests/test_mpi_apps/test_mpiex.py,sha256=N44sOaTOMchmZ3bI_w5h2mjOnS0sGFq8IqzIOpF0MMI,2036
364
+ parsl/tests/test_mpi_apps/test_mpiex.py,sha256=mlFdHK3A1B6NsEhxTQQX8lhs9qVza36FMG99vNrBRW4,2021
363
365
  parsl/tests/test_mpi_apps/test_resource_spec.py,sha256=aJo_1Nr0t-5pzw_rpDWEVp41RcICWG9sAeFUFXXJoW8,3828
364
366
  parsl/tests/test_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
365
367
  parsl/tests/test_providers/test_cobalt_deprecation_warning.py,sha256=UN2W6xJxuLx2euPqArORKFEU2VXez9_PYqq-0rZHanQ,391
@@ -417,8 +419,8 @@ parsl/tests/test_scaling/test_block_error_handler.py,sha256=OS1IyiK8gjRFI1VzpmOv
417
419
  parsl/tests/test_scaling/test_regression_1621.py,sha256=cAPjJ0p_VLZm9Z6EK7QuOgeO5KpcUXQ0ar698T6uMy4,1944
418
420
  parsl/tests/test_scaling/test_regression_3568_scaledown_vs_MISSING.py,sha256=uL4dmaxqix9K6P-5vDTFqPye1BIeyynJjiYZBx5XI3E,2982
419
421
  parsl/tests/test_scaling/test_scale_down.py,sha256=u8TbbVM2PXgy4Zg7bAkh0C-KQuF1kD_WEsO79R0Y-UE,2820
420
- parsl/tests/test_scaling/test_scale_down_htex_auto_scale.py,sha256=A-aDudFnWvOr5Z4m3Z0WW7-MJZ6ZveEneogZEzSom1k,4596
421
- parsl/tests/test_scaling/test_scale_down_htex_unregistered.py,sha256=4DYZB9BMDzyC659bf-gmU3ltnRvCgXVrfnnehb7cL5c,2029
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
422
424
  parsl/tests/test_scaling/test_shutdown_scalein.py,sha256=Jzi0OH7UE6qvQ4ZpsfHu8lySpkMDgorn2elAzMNE6wI,2397
423
425
  parsl/tests/test_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
424
426
  parsl/tests/test_serialization/test_2555_caching_deserializer.py,sha256=jEXJvbriaLVI7frV5t-iJRKYyeQ7a9_-t3X9lhhBWQo,767
@@ -460,13 +462,13 @@ parsl/usage_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
460
462
  parsl/usage_tracking/api.py,sha256=iaCY58Dc5J4UM7_dJzEEs871P1p1HdxBMtNGyVdzc9g,1821
461
463
  parsl/usage_tracking/levels.py,sha256=xbfzYEsd55KiZJ-mzNgPebvOH4rRHum04hROzEf41tU,291
462
464
  parsl/usage_tracking/usage.py,sha256=qNEJ7nPimqd3Y7OWFLdYmNwJ6XDKlyfV_fTzasxsQw8,8690
463
- parsl-2024.8.26.data/scripts/exec_parsl_function.py,sha256=RUkJ4JSJAjr7YyRZ58zhMdg8cR5dVV9odUl3AuzNf3k,7802
464
- parsl-2024.8.26.data/scripts/interchange.py,sha256=2tsbwd055SEnSpWLNNoqMW6o6ohRJFNSgvgN_umsqN8,30864
465
- parsl-2024.8.26.data/scripts/parsl_coprocess.py,sha256=zrVjEqQvFOHxsLufPi00xzMONagjVwLZbavPM7bbjK4,5722
466
- parsl-2024.8.26.data/scripts/process_worker_pool.py,sha256=78QKnV5KbY_vcteC6k60gpDE4wEk6hsciet_qzs9QoU,43061
467
- parsl-2024.8.26.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
468
- parsl-2024.8.26.dist-info/METADATA,sha256=biMwH3S2mcDlcW_m-xHagXcXYOsw3eE63SCgt2Xbcfw,4121
469
- parsl-2024.8.26.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
470
- parsl-2024.8.26.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
471
- parsl-2024.8.26.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
472
- parsl-2024.8.26.dist-info/RECORD,,
465
+ parsl-2024.9.9.data/scripts/exec_parsl_function.py,sha256=RUkJ4JSJAjr7YyRZ58zhMdg8cR5dVV9odUl3AuzNf3k,7802
466
+ parsl-2024.9.9.data/scripts/interchange.py,sha256=2tsbwd055SEnSpWLNNoqMW6o6ohRJFNSgvgN_umsqN8,30864
467
+ parsl-2024.9.9.data/scripts/parsl_coprocess.py,sha256=zrVjEqQvFOHxsLufPi00xzMONagjVwLZbavPM7bbjK4,5722
468
+ parsl-2024.9.9.data/scripts/process_worker_pool.py,sha256=78QKnV5KbY_vcteC6k60gpDE4wEk6hsciet_qzs9QoU,43061
469
+ parsl-2024.9.9.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
470
+ parsl-2024.9.9.dist-info/METADATA,sha256=yC5ZAo_3_gtWTms3TJN4qqbm3mSAf4pNcmCTmL2iBTE,4120
471
+ parsl-2024.9.9.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
472
+ parsl-2024.9.9.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
473
+ parsl-2024.9.9.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
474
+ parsl-2024.9.9.dist-info/RECORD,,