parsl 2023.6.5__py3-none-any.whl → 2023.6.12__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. parsl/addresses.py +2 -1
  2. parsl/configs/vineex_local.py +26 -0
  3. parsl/data_provider/data_manager.py +2 -1
  4. parsl/data_provider/files.py +1 -1
  5. parsl/dataflow/memoization.py +1 -1
  6. parsl/executors/taskvine/__init__.py +3 -0
  7. parsl/executors/taskvine/errors.py +22 -0
  8. parsl/executors/taskvine/exec_parsl_function.py +207 -0
  9. parsl/executors/taskvine/executor.py +1055 -0
  10. parsl/executors/workqueue/executor.py +4 -5
  11. parsl/launchers/base.py +17 -0
  12. parsl/launchers/launchers.py +1 -16
  13. parsl/monitoring/monitoring.py +19 -8
  14. parsl/providers/cluster_provider.py +2 -2
  15. parsl/providers/condor/condor.py +1 -1
  16. parsl/providers/kubernetes/kube.py +2 -1
  17. parsl/providers/slurm/slurm.py +1 -1
  18. parsl/tests/configs/taskvine_ex.py +11 -0
  19. parsl/tests/conftest.py +6 -6
  20. parsl/tests/scaling_tests/vineex_condor.py +10 -0
  21. parsl/tests/scaling_tests/vineex_local.py +10 -0
  22. parsl/tests/test_bash_apps/test_pipeline.py +2 -2
  23. parsl/tests/test_error_handling/test_retry_handler.py +1 -1
  24. parsl/utils.py +2 -2
  25. parsl/version.py +1 -1
  26. {parsl-2023.6.5.dist-info → parsl-2023.6.12.dist-info}/METADATA +2 -2
  27. {parsl-2023.6.5.dist-info → parsl-2023.6.12.dist-info}/RECORD +40 -32
  28. parsl/tests/configs/workqueue_blocks.py +0 -12
  29. /parsl/tests/{workqueue_tests → scaling_tests}/__init__.py +0 -0
  30. /parsl/tests/{workqueue_tests → scaling_tests}/htex_local.py +0 -0
  31. /parsl/tests/{workqueue_tests → scaling_tests}/local_threads.py +0 -0
  32. /parsl/tests/{workqueue_tests → scaling_tests}/test_scale.py +0 -0
  33. /parsl/tests/{workqueue_tests → scaling_tests}/wqex_condor.py +0 -0
  34. /parsl/tests/{workqueue_tests → scaling_tests}/wqex_local.py +0 -0
  35. {parsl-2023.6.5.data → parsl-2023.6.12.data}/scripts/exec_parsl_function.py +0 -0
  36. {parsl-2023.6.5.data → parsl-2023.6.12.data}/scripts/parsl_coprocess.py +0 -0
  37. {parsl-2023.6.5.data → parsl-2023.6.12.data}/scripts/process_worker_pool.py +0 -0
  38. {parsl-2023.6.5.dist-info → parsl-2023.6.12.dist-info}/LICENSE +0 -0
  39. {parsl-2023.6.5.dist-info → parsl-2023.6.12.dist-info}/WHEEL +0 -0
  40. {parsl-2023.6.5.dist-info → parsl-2023.6.12.dist-info}/entry_points.txt +0 -0
  41. {parsl-2023.6.5.dist-info → parsl-2023.6.12.dist-info}/top_level.txt +0 -0
@@ -122,8 +122,7 @@ class WorkQueueExecutor(BlockProviderExecutor, putils.RepresentationMixin):
122
122
  In this case, environment variables can be used to influence the
123
123
  choice of port, documented here:
124
124
  https://ccl.cse.nd.edu/software/manuals/api/html/work__queue_8h.html#a21714a10bcdfcf5c3bd44a96f5dcbda6
125
-
126
- Default: 0.
125
+ Default: WORK_QUEUE_DEFAULT_PORT.
127
126
 
128
127
  env: dict{str}
129
128
  Dictionary that contains the environmental variables that
@@ -179,7 +178,7 @@ class WorkQueueExecutor(BlockProviderExecutor, putils.RepresentationMixin):
179
178
  invocations of an app have similar performance characteristics,
180
179
  this will provide a reasonable set of categories automatically.
181
180
 
182
- max_retries: Optional[int]
181
+ max_retries: int
183
182
  Set the number of retries that Work Queue will make when a task
184
183
  fails. This is distinct from Parsl level retries configured in
185
184
  parsl.config.Config. Set to None to allow Work Queue to retry
@@ -234,7 +233,7 @@ class WorkQueueExecutor(BlockProviderExecutor, putils.RepresentationMixin):
234
233
  autolabel: bool = False,
235
234
  autolabel_window: int = 1,
236
235
  autocategory: bool = True,
237
- max_retries: Optional[int] = 1,
236
+ max_retries: int = 1,
238
237
  init_command: str = "",
239
238
  worker_options: str = "",
240
239
  full_debug: bool = True,
@@ -261,7 +260,7 @@ class WorkQueueExecutor(BlockProviderExecutor, putils.RepresentationMixin):
261
260
  self.storage_access = storage_access
262
261
  self.use_cache = use_cache
263
262
  self.working_dir = working_dir
264
- self.registered_files = set() # type: Set[str]
263
+ self.registered_files: Set[str] = set()
265
264
  self.full_debug = full_debug
266
265
  self.source = True if pack else source
267
266
  self.pack = pack
@@ -0,0 +1,17 @@
1
+ from abc import ABCMeta, abstractmethod
2
+
3
+ from parsl.utils import RepresentationMixin
4
+
5
+
6
+ class Launcher(RepresentationMixin, metaclass=ABCMeta):
7
+ """Launchers are basically wrappers for user submitted scripts as they
8
+ are submitted to a specific execution resource.
9
+ """
10
+ def __init__(self, debug: bool = True):
11
+ self.debug = debug
12
+
13
+ @abstractmethod
14
+ def __call__(self, command: str, tasks_per_node: int, nodes_per_block: int) -> str:
15
+ """ Wraps the command with the Launcher calls.
16
+ """
17
+ pass
@@ -1,25 +1,10 @@
1
- from abc import ABCMeta, abstractmethod
2
1
  import logging
3
2
 
4
- from parsl.utils import RepresentationMixin
3
+ from parsl.launchers.base import Launcher
5
4
 
6
5
  logger = logging.getLogger(__name__)
7
6
 
8
7
 
9
- class Launcher(RepresentationMixin, metaclass=ABCMeta):
10
- """Launchers are basically wrappers for user submitted scripts as they
11
- are submitted to a specific execution resource.
12
- """
13
- def __init__(self, debug: bool = True):
14
- self.debug = debug
15
-
16
- @abstractmethod
17
- def __call__(self, command: str, tasks_per_node: int, nodes_per_block: int) -> str:
18
- """ Wraps the command with the Launcher calls.
19
- """
20
- pass
21
-
22
-
23
8
  class SimpleLauncher(Launcher):
24
9
  """ Does no wrapping. Just returns the command as-is
25
10
  """
@@ -139,7 +139,7 @@ class MonitoringHub(RepresentationMixin):
139
139
  self._dfk_channel = None # type: Any
140
140
 
141
141
  if _db_manager_excepts:
142
- raise(_db_manager_excepts)
142
+ raise _db_manager_excepts
143
143
 
144
144
  self.client_address = client_address
145
145
  self.client_port_range = client_port_range
@@ -170,12 +170,23 @@ class MonitoringHub(RepresentationMixin):
170
170
  self.logger.debug("Initializing ZMQ Pipes to client")
171
171
  self.monitoring_hub_active = True
172
172
 
173
- comm_q = SizedQueue(maxsize=10) # type: Queue[Union[Tuple[int, int], str]]
174
- self.exception_q = SizedQueue(maxsize=10) # type: Queue[Tuple[str, str]]
175
- self.priority_msgs = SizedQueue() # type: Queue[Tuple[Any, int]]
176
- self.resource_msgs = SizedQueue() # type: Queue[AddressedMonitoringMessage]
177
- self.node_msgs = SizedQueue() # type: Queue[AddressedMonitoringMessage]
178
- self.block_msgs = SizedQueue() # type: Queue[AddressedMonitoringMessage]
173
+ comm_q: Queue[Union[Tuple[int, int], str]]
174
+ comm_q = SizedQueue(maxsize=10)
175
+
176
+ self.exception_q: Queue[Tuple[str, str]]
177
+ self.exception_q = SizedQueue(maxsize=10)
178
+
179
+ self.priority_msgs: Queue[Tuple[Any, int]]
180
+ self.priority_msgs = SizedQueue()
181
+
182
+ self.resource_msgs: Queue[AddressedMonitoringMessage]
183
+ self.resource_msgs = SizedQueue()
184
+
185
+ self.node_msgs: Queue[AddressedMonitoringMessage]
186
+ self.node_msgs = SizedQueue()
187
+
188
+ self.block_msgs: Queue[AddressedMonitoringMessage]
189
+ self.block_msgs = SizedQueue()
179
190
 
180
191
  self.router_proc = ForkProcess(target=router_starter,
181
192
  args=(comm_q, self.exception_q, self.priority_msgs, self.node_msgs, self.block_msgs, self.resource_msgs),
@@ -328,7 +339,7 @@ def filesystem_receiver(logdir: str, q: "queue.Queue[AddressedMonitoringMessage]
328
339
  with open(full_path_filename, "rb") as f:
329
340
  message = deserialize(f.read())
330
341
  logger.info(f"Message received is: {message}")
331
- assert(isinstance(message, tuple))
342
+ assert isinstance(message, tuple)
332
343
  q.put(cast(AddressedMonitoringMessage, message))
333
344
  os.remove(full_path_filename)
334
345
  except Exception:
@@ -67,9 +67,9 @@ class ClusterProvider(ExecutionProvider):
67
67
  self.walltime = walltime
68
68
  self.cmd_timeout = cmd_timeout
69
69
  if not callable(self.launcher):
70
- raise(BadLauncher(self.launcher,
70
+ raise BadLauncher(self.launcher,
71
71
  "Launcher for executor: {} is of type: {}. Expects a parsl.launcher.launcher.Launcher or callable".format(
72
- label, type(self.launcher))))
72
+ label, type(self.launcher)))
73
73
 
74
74
  self.script_dir = None
75
75
 
@@ -8,6 +8,7 @@ from parsl.channels import LocalChannel
8
8
  from parsl.providers.base import JobState, JobStatus
9
9
  from parsl.utils import RepresentationMixin
10
10
  from parsl.launchers import SingleNodeLauncher
11
+ from parsl.launchers.base import Launcher
11
12
  from parsl.providers.condor.template import template_string
12
13
  from parsl.providers.cluster_provider import ClusterProvider
13
14
  from parsl.providers.errors import ScaleOutFailed
@@ -16,7 +17,6 @@ logger = logging.getLogger(__name__)
16
17
 
17
18
  from typing import Dict, List, Optional
18
19
  from parsl.channels.base import Channel
19
- from parsl.launchers.launchers import Launcher
20
20
 
21
21
  # See http://pages.cs.wisc.edu/~adesmet/status.html
22
22
  translate_table = {
@@ -128,7 +128,8 @@ class KubernetesProvider(ExecutionProvider, RepresentationMixin):
128
128
  self.kube_client = client.CoreV1Api()
129
129
 
130
130
  # Dictionary that keeps track of jobs, keyed on job_id
131
- self.resources = {} # type: Dict[object, Dict[str, Any]]
131
+ self.resources: Dict[object, Dict[str, Any]]
132
+ self.resources = {}
132
133
 
133
134
  def submit(self, cmd_string, tasks_per_node, job_name="parsl"):
134
135
  """ Submit a job
@@ -10,7 +10,7 @@ from typing import Optional
10
10
  from parsl.channels import LocalChannel
11
11
  from parsl.channels.base import Channel
12
12
  from parsl.launchers import SingleNodeLauncher
13
- from parsl.launchers.launchers import Launcher
13
+ from parsl.launchers.base import Launcher
14
14
  from parsl.providers.cluster_provider import ClusterProvider
15
15
  from parsl.providers.base import JobState, JobStatus
16
16
  from parsl.providers.slurm.template import template_string
@@ -0,0 +1,11 @@
1
+ from parsl.config import Config
2
+ from parsl.executors.taskvine import TaskVineExecutor
3
+
4
+ from parsl.data_provider.http import HTTPInTaskStaging
5
+ from parsl.data_provider.ftp import FTPInTaskStaging
6
+ from parsl.data_provider.file_noop import NoOpFileStaging
7
+
8
+
9
+ def fresh_config():
10
+ return Config(executors=[TaskVineExecutor(port=9000,
11
+ storage_access=[FTPInTaskStaging(), HTTPInTaskStaging(), NoOpFileStaging()])])
parsl/tests/conftest.py CHANGED
@@ -124,7 +124,7 @@ def load_dfk_session(request, pytestconfig):
124
124
 
125
125
  yield
126
126
 
127
- if(parsl.dfk() != dfk):
127
+ if parsl.dfk() != dfk:
128
128
  raise RuntimeError("DFK changed unexpectedly during test")
129
129
  dfk.cleanup()
130
130
  parsl.clear()
@@ -158,16 +158,16 @@ def load_dfk_local_module(request, pytestconfig):
158
158
  assert isinstance(c, parsl.Config)
159
159
  dfk = parsl.load(c)
160
160
 
161
- if(callable(local_setup)):
161
+ if callable(local_setup):
162
162
  local_setup()
163
163
 
164
164
  yield
165
165
 
166
- if(callable(local_teardown)):
166
+ if callable(local_teardown):
167
167
  local_teardown()
168
168
 
169
- if(local_config):
170
- if(parsl.dfk() != dfk):
169
+ if local_config:
170
+ if parsl.dfk() != dfk:
171
171
  raise RuntimeError("DFK changed unexpectedly during test")
172
172
  dfk.cleanup()
173
173
  parsl.clear()
@@ -271,7 +271,7 @@ def pytest_ignore_collect(path):
271
271
  return True
272
272
  elif 'manual_tests' in path.strpath:
273
273
  return True
274
- elif 'workqueue_tests/test_scale' in path.strpath:
274
+ elif 'scaling_tests/test_scale' in path.strpath:
275
275
  return True
276
276
  else:
277
277
  return False
@@ -0,0 +1,10 @@
1
+ from parsl.config import Config
2
+ from parsl.executors.taskvine import TaskVineExecutor
3
+ from parsl.providers import CondorProvider
4
+
5
+ config = Config(
6
+ executors=[TaskVineExecutor(port=50055,
7
+ source=True,
8
+ provider=CondorProvider(),
9
+ )]
10
+ )
@@ -0,0 +1,10 @@
1
+ from parsl.config import Config
2
+ from parsl.executors.taskvine import TaskVineExecutor
3
+ from parsl.providers import LocalProvider
4
+
5
+ config = Config(
6
+ executors=[TaskVineExecutor(port=50055,
7
+ source=True,
8
+ provider=LocalProvider(),
9
+ )]
10
+ )
@@ -52,7 +52,7 @@ def test_increment(depth=5):
52
52
  futs = {}
53
53
  for i in range(1, depth):
54
54
  print("Launching {0} with {1}".format(i, prev))
55
- assert(isinstance(prev, DataFuture) or isinstance(prev, File))
55
+ assert isinstance(prev, DataFuture) or isinstance(prev, File)
56
56
  output = File("test{0}.txt".format(i))
57
57
  fu = increment(inputs=[prev], # Depend on the future from previous call
58
58
  # Name the file to be created here
@@ -62,7 +62,7 @@ def test_increment(depth=5):
62
62
  [prev] = fu.outputs
63
63
  futs[i] = prev
64
64
  print(prev.filepath)
65
- assert(isinstance(prev, DataFuture))
65
+ assert isinstance(prev, DataFuture)
66
66
 
67
67
  for key in futs:
68
68
  if key > 0:
@@ -61,4 +61,4 @@ def test_retry():
61
61
  with pytest.raises(parsl.app.errors.BashExitFailure):
62
62
  fu.result()
63
63
 
64
- assert(fu.exception().exitcode == 5)
64
+ assert fu.exception().exitcode == 5
parsl/utils.py CHANGED
@@ -55,7 +55,7 @@ def get_all_checkpoints(rundir: str = "runinfo") -> List[str]:
55
55
 
56
56
  """
57
57
 
58
- if(not os.path.isdir(rundir)):
58
+ if not os.path.isdir(rundir):
59
59
  return []
60
60
 
61
61
  dirs = sorted(os.listdir(rundir))
@@ -99,7 +99,7 @@ def get_last_checkpoint(rundir: str = "runinfo") -> List[str]:
99
99
  last_runid = dirs[-1]
100
100
  last_checkpoint = os.path.abspath(f'{rundir}/{last_runid}/checkpoint')
101
101
 
102
- if(not(os.path.isdir(last_checkpoint))):
102
+ if not os.path.isdir(last_checkpoint):
103
103
  return []
104
104
 
105
105
  return [last_checkpoint]
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 = '2023.06.05'
6
+ VERSION = '2023.06.12'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsl
3
- Version: 2023.6.5
3
+ Version: 2023.6.12
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/2023.06.05.tar.gz
6
+ Download-URL: https://github.com/Parsl/parsl/archive/2023.06.12.tar.gz
7
7
  Author: The Parsl Team
8
8
  Author-email: parsl@googlegroups.com
9
9
  License: Apache 2.0
@@ -1,13 +1,13 @@
1
1
  parsl/__init__.py,sha256=DNTVMq4NzT0L1EYdXkb2Eac8sJk2_V1NSZubly-s8gs,1794
2
- parsl/addresses.py,sha256=lEIO0F-iTCnGPW2kTDZk6EEkRItKWNJsL4RHJKuh89I,3869
2
+ parsl/addresses.py,sha256=Qp48xs39z55hsNaCihH7W1i2K6gOSd3Pcj7ZDQyl3ak,3886
3
3
  parsl/config.py,sha256=T916fJWEQ2GGiDUv83QiM8mUnxc8pt6-VEwfyt2sV1k,6623
4
4
  parsl/errors.py,sha256=ySR8ClOEf3aJZVS46IkpM8m5n-9O1zbGcEt8lPhJKlA,763
5
5
  parsl/log_utils.py,sha256=AGem-dhQs5TYUyJg6GKkRuHxAw8FHhYlWB_0s7_ROw4,3175
6
6
  parsl/multiprocessing.py,sha256=uY64wcQmWt2rgylQm4lmr3HE8AxwFGeQQj4l1jKnnrY,1970
7
7
  parsl/process_loggers.py,sha256=1G3Rfrh5wuZNo2X03grG4kTYPGOxz7hHCyG6L_A3b0A,1137
8
8
  parsl/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- parsl/utils.py,sha256=wgpV6GsG-caSDCQ-Uj9IbRrT5wbskZHLTnnaA92vbH8,10885
10
- parsl/version.py,sha256=7R6Ezb9N7scqAvpc1Cjmu_66Hrk6ZI5_rZbYKLC0y1Y,131
9
+ parsl/utils.py,sha256=I4sBv2y7zPh6I6IeGNMJUH7k-y4fCUxquqLJhBGNxEU,10882
10
+ parsl/version.py,sha256=YyyRLJpY-_zVmV_eJ9sxuH7Bd0bsC8e9c5TJEy3ceg8,131
11
11
  parsl/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  parsl/app/app.py,sha256=e_7h07nsHJlqF33yZwrmbUzizaSTU-9KKuHtcwQSUx0,7760
13
13
  parsl/app/bash.py,sha256=Kqkss4dhWB6Mid2aax4CswZ_1nAqolIUGJo6mbTW7cQ,5421
@@ -52,11 +52,12 @@ parsl/configs/stampede2.py,sha256=vr8MYCqt3gYPZXpMy21L4tcdwUmIcHGv5uDbSjcMXdc,12
52
52
  parsl/configs/summit.py,sha256=kssMiF_vYwpMxF4CYlr9jbL-Vz4zOekNCPryinCEef0,1079
53
53
  parsl/configs/theta.py,sha256=t_Ih7Rq3y1wo2kuWb9ZwKZAtKiY6gUtGQHv9TPFlQHc,1148
54
54
  parsl/configs/toss3_llnl.py,sha256=9VAqKpDvwTSlvDXFw2gSI9ViVv0jJbr1cPBTnCGZlp4,998
55
+ parsl/configs/vineex_local.py,sha256=qxFwziLgBDQuGMetuLlmrZbz4Cvs5wBwdnsi1_RWv6k,837
55
56
  parsl/configs/wqex_local.py,sha256=QocsrCKR94agZndabH7vX3NTGLqx_y126Wgmo-17xNs,794
56
57
  parsl/data_provider/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- parsl/data_provider/data_manager.py,sha256=uDA-IVSyxiLdyhoPwnJ-hqbUkSIQn-OM6ON4jmSmsDA,7242
58
+ parsl/data_provider/data_manager.py,sha256=ih_IUVb5mzW2TTpvt5mRCX7c_HEGx4wtoU9PVfxGhTg,7250
58
59
  parsl/data_provider/file_noop.py,sha256=Swv2iDQZQX_1HRaYKz22BSOeXvq5PxujuS80zdBlrSA,499
59
- parsl/data_provider/files.py,sha256=VRbPe1jzkH2u5ZFlCwYFMp8KDjsfV1GCpy10M7jygjE,3214
60
+ parsl/data_provider/files.py,sha256=Pq7hHhkxx2zu77p2S981bKMHx0mIwnSbbhtStH0vPgo,3206
60
61
  parsl/data_provider/ftp.py,sha256=kpQ82GmPOQVuZu_SLT-RkqUXhQBFzZN5puVk0daeGF4,2759
61
62
  parsl/data_provider/globus.py,sha256=5r8AsCCt6g1xr9vvsC_Is9ICei4hKwebF09WkFnwyFE,12269
62
63
  parsl/data_provider/http.py,sha256=nDHTW7XmJqAukWJjPRQjyhUXt8r6GsQ36mX9mv_wOig,2986
@@ -69,7 +70,7 @@ parsl/dataflow/executor_status.py,sha256=7LuX1BNimybA99a9AISfFJWAmLqT0CrNwXczcYB
69
70
  parsl/dataflow/futures.py,sha256=AP0b7DD6dEACN8ejhVKwKiPO7e2q-xift2JjmJur5ao,4130
70
71
  parsl/dataflow/job_error_handler.py,sha256=nwcT7xHRAoXOd8-b6cdkgY6Rizv7juuOnFNxRfr3T3o,1875
71
72
  parsl/dataflow/job_status_poller.py,sha256=8puCf1NuuwhuBv_WJjnrJjI4Dogr-lzTP4Vns9cc2_o,4942
72
- parsl/dataflow/memoization.py,sha256=kTQ9DMgJQs7JiO7WmTWeantu6Fo18QZfk590rdHEJO8,9710
73
+ parsl/dataflow/memoization.py,sha256=kvkN4wY7bZMxCjSAwnIFFgq4Q9bh088bLiud3Ir__cs,9702
73
74
  parsl/dataflow/rundirs.py,sha256=XKmBZpBEIsGACBhYOkbbs2e5edC0pQegJcSlk4FWeag,1154
74
75
  parsl/dataflow/states.py,sha256=hV6mfv-y4A6xrujeQglcomnfEs7y3Xm2g6JFwC6dvgQ,2612
75
76
  parsl/dataflow/strategy.py,sha256=-H8WbpSRgNLcYLUK6m-zhTjzK1_toeyFZ_R--qtKiyk,12556
@@ -96,19 +97,24 @@ parsl/executors/high_throughput/monitoring_info.py,sha256=3gQpwQjjNDEBz0cQqJZB6h
96
97
  parsl/executors/high_throughput/probe.py,sha256=lvnuf-vBv57tHvFh-J51F9sDYBES7jCgs6KYgWvmKRs,2749
97
98
  parsl/executors/high_throughput/process_worker_pool.py,sha256=ToMA-MBZurkcgn4m-H-ckE1-F9ubwCwjHHfhm-LMB5c,33011
98
99
  parsl/executors/high_throughput/zmq_pipes.py,sha256=yTURJSHGY-n1rI5OfzJbcTa1Ji7jiY8nuisqBWgpEZw,5720
100
+ parsl/executors/taskvine/__init__.py,sha256=CD_JMWUfpyJtmtZzYGQ8TtUHir4WtDyXIDxViBnAyC0,95
101
+ parsl/executors/taskvine/errors.py,sha256=Zq5FQsnHqjjiT10JDVxvE0g3CwMjzy9qbIPwQUuqD_c,466
102
+ parsl/executors/taskvine/exec_parsl_function.py,sha256=kYJmpgsswNMqV2-_dOmtgZHhb9OuKMvB-UwaNO2A2z0,7759
103
+ parsl/executors/taskvine/executor.py,sha256=LDa1hXtuA-X4kbRe_23y8eUnickxjghGR9KSqQKmcLg,48948
99
104
  parsl/executors/workqueue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
105
  parsl/executors/workqueue/errors.py,sha256=cViEm971bK2UVlDk4PUsSJd692aka9dgwwRbI3nypIs,471
101
106
  parsl/executors/workqueue/exec_parsl_function.py,sha256=kYJmpgsswNMqV2-_dOmtgZHhb9OuKMvB-UwaNO2A2z0,7759
102
- parsl/executors/workqueue/executor.py,sha256=zHszKBIT9qeV6f90MzvE0BI7Tr6cFUrguLHhqXka2F8,48137
107
+ parsl/executors/workqueue/executor.py,sha256=NxR89IwQ8bHSDOd0JH5KI9TW_oCtpBdErBIx9nGqgrI,48130
103
108
  parsl/executors/workqueue/parsl_coprocess.py,sha256=o2hnOQZV1WzLmz9FtKbBQWPZfUcwHCTUMhxneR9IJUE,5514
104
109
  parsl/executors/workqueue/parsl_coprocess_stub.py,sha256=_bJmpPIgL42qM6bVzeEKt1Mn1trSP41rtJguXxPGfHI,735
105
110
  parsl/launchers/__init__.py,sha256=k8zAB3IBP-brfqXUptKwGkvsIRaXjAJZNBJa2XVtY1A,546
111
+ parsl/launchers/base.py,sha256=CblcvPTJiu-MNLWaRtFe29SZQ0BpTOlaY8CGcHdlHIE,538
106
112
  parsl/launchers/errors.py,sha256=TtwJXGNjGOOcnAr3jL1OkrHeT3KuaGASgoC2oxx9hR4,409
107
- parsl/launchers/launchers.py,sha256=Crehul8u6VrFS0XFAV_18OmBL2sHR-jVawLIR4JZEdk,15853
113
+ parsl/launchers/launchers.py,sha256=t9nuX38GMlAUPHs0aksnMd_5jI59IcqwlUD667w1cu4,15358
108
114
  parsl/monitoring/__init__.py,sha256=0ywNz6i0lM1xo_7_BIxhETDGeVd2C_0wwD7qgeaMR4c,83
109
115
  parsl/monitoring/db_manager.py,sha256=Vau1cWuSy-s0SCVkOf8ppts0p4AkioOWG9zK1Cv6li0,36233
110
116
  parsl/monitoring/message_type.py,sha256=Khn88afNxcOIciKiCK4GLnn90I5BlRTiOL3zK-P07yQ,401
111
- parsl/monitoring/monitoring.py,sha256=INYxBCV-HlIm31y2vGJ2koKx37ZzqLCVQDQRV0hOId8,23301
117
+ parsl/monitoring/monitoring.py,sha256=d4EWEikdxjUoPAfjNFe1Io3DvBkmDk9WM1roL3aL9lc,23396
112
118
  parsl/monitoring/radios.py,sha256=T2_6QuUjC-dd_7qMnIk6WHQead1iWz7m_P6ZC4QAqdA,5265
113
119
  parsl/monitoring/remote.py,sha256=bQedanIJe-OCvLIDtKlgsjslNe1YJia0Psdi8MDnmQE,13172
114
120
  parsl/monitoring/types.py,sha256=SO6Fjjbb83sv_MtbutoxGssiWh6oXKkEEsD4EvwOnZ4,629
@@ -137,7 +143,7 @@ parsl/monitoring/visualization/templates/workflow.html,sha256=QCSHAPHK_2C3gNcZ3N
137
143
  parsl/monitoring/visualization/templates/workflows_summary.html,sha256=7brKKNsxcT4z-l10BKJlgTxQtGL033ZS5jEDdSmsPEE,891
138
144
  parsl/providers/__init__.py,sha256=jd-1_vd-HtWYDHzwO30lNW5GMw6nfeTyNn3tI8CG7L4,1207
139
145
  parsl/providers/base.py,sha256=WOcjcTZEGAc3uFWivZymJQUymT2gUbs52SKViJqMolQ,9390
140
- parsl/providers/cluster_provider.py,sha256=eQfmk82budsToS2hvpwizlTOYOKi_k5mmt4mFM_Llcs,4848
146
+ parsl/providers/cluster_provider.py,sha256=Qk6egBfZFJHBU06oYFg1isRNTRBvO1rgfipcnQHW1TE,4847
141
147
  parsl/providers/errors.py,sha256=0Q0LaujNpTCwSyowOzrVxrN3CDzh9L5ciXcsDXkKhSY,2228
142
148
  parsl/providers/ad_hoc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
149
  parsl/providers/ad_hoc/ad_hoc.py,sha256=1R5bREmnIQjuS08g-M8_ievMZBPiDG27PTZNjXFp99Y,8273
@@ -151,7 +157,7 @@ parsl/providers/cobalt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
151
157
  parsl/providers/cobalt/cobalt.py,sha256=AIQul3Lc5QsNh7EnRB8jSMnp3AxvZdEzzNyB0twnbAc,8223
152
158
  parsl/providers/cobalt/template.py,sha256=a7fIkMLrYZ6uHgOPQgp8YPJA8f7SgxloFdEx51OJvuY,273
153
159
  parsl/providers/condor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
- parsl/providers/condor/condor.py,sha256=NRMzzXvrKM69pSe2Of0u8K96F4nxcNp6GPBl_XrQSA0,13183
160
+ parsl/providers/condor/condor.py,sha256=0dFxaqTegcUb7e8MJJxtyNKwoHsN6fQR4YwMYx9LWm0,13178
155
161
  parsl/providers/condor/template.py,sha256=Jm2ezWo7ERMNPFvjLLEriaP5n5kD0vQBnikn9kpUTdU,960
156
162
  parsl/providers/googlecloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
163
  parsl/providers/googlecloud/googlecloud.py,sha256=iyMsyeQiVBI29yf40lb7q4yo8RaTCaTHJSkDkqCocS4,8009
@@ -159,7 +165,7 @@ parsl/providers/grid_engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
159
165
  parsl/providers/grid_engine/grid_engine.py,sha256=kvWB_GCeZ7FLKfqyToPnP-PyQ9LD8s-ueMimZe5gImQ,8621
160
166
  parsl/providers/grid_engine/template.py,sha256=a7iViKr8LXcFTPmsf_qQeVK5o_RekOAIlUOF0X1q-2M,273
161
167
  parsl/providers/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
- parsl/providers/kubernetes/kube.py,sha256=NT85I-W6R2txD_mgEzKUB2hRa3Rwor0dierKRgblP5E,12775
168
+ parsl/providers/kubernetes/kube.py,sha256=RHgTzoVBb8PpBDOgEhrXg98dORy6STp_4ZFzS9JsZEA,12790
163
169
  parsl/providers/kubernetes/template.py,sha256=VsRz6cmNaII-y4OdMT6sCwzQy95SJX6NMB0hmmFBhX4,50
164
170
  parsl/providers/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
171
  parsl/providers/local/local.py,sha256=VC0nDh0cwuhXfA6ysk5SRg3wtXw9lmrH51J2RXsllJ4,11348
@@ -170,7 +176,7 @@ parsl/providers/pbspro/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
170
176
  parsl/providers/pbspro/pbspro.py,sha256=XIZK1YkYqwq4rws_2lm43yamdXDnxfoGfCFIxOhMh2Q,7792
171
177
  parsl/providers/pbspro/template.py,sha256=ozMbrx0HNsLnSoWbkZhy-55yJoTX5gpdRrDuVn6TFWA,369
172
178
  parsl/providers/slurm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
- parsl/providers/slurm/slurm.py,sha256=5YL1fIOcO3d2X3ugd3Sgk5YqjyjwmYGbGSnWo4yPl34,11702
179
+ parsl/providers/slurm/slurm.py,sha256=xvWSG2lh7D8JmjP7Gsy3nJHH7wuCTiwiBEWuJ6gF3v4,11697
174
180
  parsl/providers/slurm/template.py,sha256=cc-3l5wnThEWfqzpniPgi3FP6934Ni05UZ9r0A1RA8s,369
175
181
  parsl/providers/torque/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
182
  parsl/providers/torque/template.py,sha256=4qfc2gmlEhRCAD7erFDOs4prJQ43I8s4E8DSUSVQx3A,358
@@ -181,7 +187,7 @@ parsl/serialize/concretes.py,sha256=vQTn3zFd-npcthfdbYaGeBIiWlVYetQ8pSXbZfSnxDk,
181
187
  parsl/serialize/facade.py,sha256=pT_4YdXpCT65PIUmcpv8bODhkJryc6Cpdg2FW-B4QXQ,4940
182
188
  parsl/tests/__init__.py,sha256=s_zoz7Ipgykh-QTQvctdpxENrMnmpXY8oe1bJbUmpqY,204
183
189
  parsl/tests/callables_helper.py,sha256=ceP1YYsNtrZgKT6MAIvpgdccEjQ_CpFEOnZBGHKGOx0,30
184
- parsl/tests/conftest.py,sha256=T6839hwbxakkaehh1McC6nZd30x53mEw85sK5QFFD1Q,9382
190
+ parsl/tests/conftest.py,sha256=562NStsVPZD0PnHGuqf9Q2LTozKNSghboHx44Ij7-ow,9375
185
191
  parsl/tests/test_aalst_patterns.py,sha256=fi6JHKidV7vMJLv2nnu_-Q0ngGLc89mRm8rFrGIwiUM,9615
186
192
  parsl/tests/test_callables.py,sha256=_QsdS8v2nGgOj4_X69NFHZOGUnqbOrOMCA9pCJColZw,1974
187
193
  parsl/tests/test_flux.py,sha256=st9v55o5ZajK_LQUXh1saLwFh2gpaQFGG5mzdnJMNu0,5098
@@ -224,9 +230,9 @@ parsl/tests/configs/osg_htex.py,sha256=lnI9PJWQKOB-G3OsuC__RZKNH0r3817wCJ8ouFFVg
224
230
  parsl/tests/configs/petrelkube.py,sha256=Tek05ztr2GDuYp1TiOFm89l0DrhP6lZQ5Fj8u8Z12wI,1657
225
231
  parsl/tests/configs/summit.py,sha256=loBqZjMYicBJnQaj12TuHOwYhLzJexncNOG6S1lvt-4,1336
226
232
  parsl/tests/configs/swan_htex.py,sha256=-gIl_Pcya0n7IVC8_UcATJZLEX4wnnmgZpZgGvVskD4,1473
233
+ parsl/tests/configs/taskvine_ex.py,sha256=tFAGiVTAAvwnWTznwUyYxhiKgKccrtqJYPvRqt7-Pkc,457
227
234
  parsl/tests/configs/theta.py,sha256=iHxdS1lwiLzMcS8Rk57g35WbThtMBarumomCLidwHS8,1257
228
235
  parsl/tests/configs/user_opts.py,sha256=oByBH5r3YhKZS_PN4SMX0lqreXfwRaloLc4u4XEy5Tw,6581
229
- parsl/tests/configs/workqueue_blocks.py,sha256=9F6mQp2-RAd67EnicflRq6pep1ZibSyGEWenRuvmvOo,578
230
236
  parsl/tests/configs/workqueue_ex.py,sha256=HAZzTJID4jtc07yNPZ4zIs0EXfE-IPorAvslHhQPYO8,451
231
237
  parsl/tests/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
238
  parsl/tests/integration/latency.py,sha256=kWYkXsbnVnpwS6rHsdm7a1FsUOJWHhuXDsRPlApw6iE,3289
@@ -254,6 +260,14 @@ parsl/tests/manual_tests/test_oauth_ssh.py,sha256=v7msnSS5ywrWl7oqB_gR72oU2owrpz
254
260
  parsl/tests/manual_tests/test_regression_220.py,sha256=Lskfd6R9ZboJ3-mJ7LZBGhuLc6ylksjAwewhkn_IuVI,930
255
261
  parsl/tests/manual_tests/test_udp_simple.py,sha256=DPTsUoZEPx5NLG4tPAv2_FWKshNno_aofVU4u8Q95Qs,1036
256
262
  parsl/tests/manual_tests/test_worker_count.py,sha256=88PkYkg-Vo6RUBnui2zIxAIXXaqTCqv0xCKUFHXaZTo,2071
263
+ parsl/tests/scaling_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
264
+ parsl/tests/scaling_tests/htex_local.py,sha256=ct1cTBg0Ttjn09O793j_PsrceqX_Y_wCbnq1asEEfcA,526
265
+ parsl/tests/scaling_tests/local_threads.py,sha256=RbqOr2ELWBDFwmCCbvmyd4zEJDvonQGRbs7Apc6cy9g,138
266
+ parsl/tests/scaling_tests/test_scale.py,sha256=umw_METEyWlQm2DbWdjkekNTmOdkKdWQY8PRDiHIvDw,3835
267
+ parsl/tests/scaling_tests/vineex_condor.py,sha256=n1wo96sOIiJ1NjmjujMF5iU30y2eoTMczfoc9XnJu5I,308
268
+ parsl/tests/scaling_tests/vineex_local.py,sha256=8rUSfM1g4Z_jCr880j0LU6_mOLSzwv9xtXpCZfaV9Hw,306
269
+ parsl/tests/scaling_tests/wqex_condor.py,sha256=agE-fmo5upiHhWx4VcGGi2xNg9pb1TsAimWvM_NqpU4,522
270
+ parsl/tests/scaling_tests/wqex_local.py,sha256=QYJ4gte1RdlE6ewdbMUcOYbJL9rl_2MzrVbulHOKCu4,520
257
271
  parsl/tests/site_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
272
  parsl/tests/site_tests/site_config_selector.py,sha256=_NQMWzC1e3g4NlgS9_DAYut0c-2Ee49Q-5ddpuHbbis,2137
259
273
  parsl/tests/site_tests/test_provider.py,sha256=dTOdcmRAl_6ANGmExTLOABCjdM_HkLAfi7rEQNIX0K0,2687
@@ -278,7 +292,7 @@ parsl/tests/test_bash_apps/test_memoize.py,sha256=YTqdy2DBUfl8shnNJrQjEjzK1YMvCI
278
292
  parsl/tests/test_bash_apps/test_memoize_ignore_args.py,sha256=jbW0DPpTaGul65KK4AkDqfNV70r_RlB5xtC5bFGGtcQ,1343
279
293
  parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py,sha256=03jL68xJxPCtO3nlCCycwOibQHuTeC6pQdPqSoc58s0,1384
280
294
  parsl/tests/test_bash_apps/test_multiline.py,sha256=5c4MOp0dyHmzq0xtOIU4UinW4YD6dMn7fuz60yiDqbk,1600
281
- parsl/tests/test_bash_apps/test_pipeline.py,sha256=bjihUlpoMl-XNqbylq5VEvM5cYTBP8BS4KdcjfFy5F8,3797
295
+ parsl/tests/test_bash_apps/test_pipeline.py,sha256=5kIc9KgVrOLaiul-MR_4-th551YhXs0AE3hJ64NEIJQ,3795
282
296
  parsl/tests/test_bash_apps/test_stdout.py,sha256=rGKmIAERMQbeq8LgYcCDs5-MrExNskCfdx-FyNT-NJA,2696
283
297
  parsl/tests/test_channels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
284
298
  parsl/tests/test_channels/test_large_output.py,sha256=PGeNSW_sN5mR7KF1hVL2CPfktydYxo4oNz1wVQ-ENN0,595
@@ -312,7 +326,7 @@ parsl/tests/test_error_handling/test_python_walltime.py,sha256=mQ2WE9aZQkzJcAdvV
312
326
  parsl/tests/test_error_handling/test_rand_fail.py,sha256=OgHDOGWwdSzdpxpQQ0RbDc1k2mLtWxEcQ6akL23EA_w,3864
313
327
  parsl/tests/test_error_handling/test_resource_spec.py,sha256=1oOJC6fnG_TuaGBfGjaucJjxwL9GIUSXc8K-e_zSyus,1185
314
328
  parsl/tests/test_error_handling/test_retries.py,sha256=2WV_SLqIgEe1Xp47gkvzyIHUk4tmJ97n8VSpFjzo3qY,2445
315
- parsl/tests/test_error_handling/test_retry_handler.py,sha256=_WtYiUGcJm0rr1w-V4v6Xdt4cq5OJDxoPshWb2g6NZ8,1407
329
+ parsl/tests/test_error_handling/test_retry_handler.py,sha256=5RPgF1DkMeSLiEBbTcX6rpaMaBfd6Lt1bqJRYUDUJE0,1406
316
330
  parsl/tests/test_error_handling/test_retry_handler_failure.py,sha256=Y12jOq1ShyRk-qcMyk46gBWe74lZaw36UtIa9Pb-4XM,551
317
331
  parsl/tests/test_error_handling/test_serialization_fail.py,sha256=rkzlXJ-DzD6GaiTF2eTqNkmQ0TbtwbOydHX2-iq0XY8,647
318
332
  parsl/tests/test_error_handling/test_wrap_with_logs.py,sha256=AHQZj7wae759FOcAUeHZX47mx1MKOfDv2YBLnaDVW7Q,741
@@ -381,20 +395,14 @@ parsl/tests/test_staging/test_staging_https_in_task.py,sha256=Ezqcsr_wUXCYXv2sd9
381
395
  parsl/tests/test_threads/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
382
396
  parsl/tests/test_threads/test_configs.py,sha256=QA9YjIMAtZ2jmkfOWqBzEfzQQcFVCDizH7Qwiy2HIMQ,909
383
397
  parsl/tests/test_threads/test_lazy_errors.py,sha256=nGhYfCMHFZYSy6YJ4gnAmiLl9SfYs0WVnuvj8DXQ9bw,560
384
- parsl/tests/workqueue_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
385
- parsl/tests/workqueue_tests/htex_local.py,sha256=ct1cTBg0Ttjn09O793j_PsrceqX_Y_wCbnq1asEEfcA,526
386
- parsl/tests/workqueue_tests/local_threads.py,sha256=RbqOr2ELWBDFwmCCbvmyd4zEJDvonQGRbs7Apc6cy9g,138
387
- parsl/tests/workqueue_tests/test_scale.py,sha256=umw_METEyWlQm2DbWdjkekNTmOdkKdWQY8PRDiHIvDw,3835
388
- parsl/tests/workqueue_tests/wqex_condor.py,sha256=agE-fmo5upiHhWx4VcGGi2xNg9pb1TsAimWvM_NqpU4,522
389
- parsl/tests/workqueue_tests/wqex_local.py,sha256=QYJ4gte1RdlE6ewdbMUcOYbJL9rl_2MzrVbulHOKCu4,520
390
398
  parsl/usage_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
391
399
  parsl/usage_tracking/usage.py,sha256=TEuAIm_U_G2ojZxvd0bbVa6gZlU61_mVRa2yJC9mGiI,7555
392
- parsl-2023.6.5.data/scripts/exec_parsl_function.py,sha256=kYJmpgsswNMqV2-_dOmtgZHhb9OuKMvB-UwaNO2A2z0,7759
393
- parsl-2023.6.5.data/scripts/parsl_coprocess.py,sha256=V5yr9c-DvZHaBPvJOUsaAxJo2s1-ZsJqO1EhauYQd2A,5499
394
- parsl-2023.6.5.data/scripts/process_worker_pool.py,sha256=o1Zp2j9KHIwR9OO8Z8mtZX_5gMDtnaJDE00KhVknG7g,32997
395
- parsl-2023.6.5.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
396
- parsl-2023.6.5.dist-info/METADATA,sha256=Zrwh3Goj8V8GUaEXlBYkRFNY15Vk874TsKSSt9nFs4I,3632
397
- parsl-2023.6.5.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
398
- parsl-2023.6.5.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
399
- parsl-2023.6.5.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
400
- parsl-2023.6.5.dist-info/RECORD,,
400
+ parsl-2023.6.12.data/scripts/exec_parsl_function.py,sha256=kYJmpgsswNMqV2-_dOmtgZHhb9OuKMvB-UwaNO2A2z0,7759
401
+ parsl-2023.6.12.data/scripts/parsl_coprocess.py,sha256=V5yr9c-DvZHaBPvJOUsaAxJo2s1-ZsJqO1EhauYQd2A,5499
402
+ parsl-2023.6.12.data/scripts/process_worker_pool.py,sha256=o1Zp2j9KHIwR9OO8Z8mtZX_5gMDtnaJDE00KhVknG7g,32997
403
+ parsl-2023.6.12.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
404
+ parsl-2023.6.12.dist-info/METADATA,sha256=ZnT_s0k9capbHHh6r4XEzRhTKNILGeFDVTR4q9ZVCdk,3633
405
+ parsl-2023.6.12.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
406
+ parsl-2023.6.12.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
407
+ parsl-2023.6.12.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
408
+ parsl-2023.6.12.dist-info/RECORD,,
@@ -1,12 +0,0 @@
1
- from parsl.config import Config
2
- from parsl.executors import WorkQueueExecutor
3
-
4
- from parsl.data_provider.http import HTTPInTaskStaging
5
- from parsl.data_provider.ftp import FTPInTaskStaging
6
- from parsl.data_provider.file_noop import NoOpFileStaging
7
-
8
- from parsl.providers import LocalProvider
9
-
10
- config = Config(executors=[WorkQueueExecutor(port=0,
11
- storage_access=[FTPInTaskStaging(), HTTPInTaskStaging(), NoOpFileStaging()],
12
- provider=LocalProvider(init_blocks=0, min_blocks=0, max_blocks=1))])