parsl 2024.6.10__tar.gz → 2024.6.17__tar.gz

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 (479) hide show
  1. {parsl-2024.6.10/parsl.egg-info → parsl-2024.6.17}/PKG-INFO +2 -2
  2. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/app.py +0 -2
  3. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/executor.py +36 -31
  4. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/interchange.py +5 -8
  5. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/kubernetes/kube.py +3 -3
  6. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_htex.py +24 -7
  7. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/version.py +1 -1
  8. {parsl-2024.6.10 → parsl-2024.6.17/parsl.egg-info}/PKG-INFO +2 -2
  9. {parsl-2024.6.10 → parsl-2024.6.17}/setup.py +1 -0
  10. {parsl-2024.6.10 → parsl-2024.6.17}/LICENSE +0 -0
  11. {parsl-2024.6.10 → parsl-2024.6.17}/MANIFEST.in +0 -0
  12. {parsl-2024.6.10 → parsl-2024.6.17}/README.rst +0 -0
  13. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/__init__.py +0 -0
  14. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/addresses.py +0 -0
  15. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/__init__.py +0 -0
  16. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/bash.py +0 -0
  17. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/errors.py +0 -0
  18. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/futures.py +0 -0
  19. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/python.py +0 -0
  20. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/benchmark/__init__.py +0 -0
  21. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/benchmark/perf.py +0 -0
  22. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/__init__.py +0 -0
  23. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/base.py +0 -0
  24. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/errors.py +0 -0
  25. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/local/__init__.py +0 -0
  26. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/local/local.py +0 -0
  27. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/oauth_ssh/__init__.py +0 -0
  28. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/oauth_ssh/oauth_ssh.py +0 -0
  29. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/ssh/__init__.py +0 -0
  30. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/ssh/ssh.py +0 -0
  31. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/ssh_il/__init__.py +0 -0
  32. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/ssh_il/ssh_il.py +0 -0
  33. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/concurrent/__init__.py +0 -0
  34. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/config.py +0 -0
  35. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/ASPIRE1.py +0 -0
  36. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/Azure.py +0 -0
  37. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/__init__.py +0 -0
  38. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/ad_hoc.py +0 -0
  39. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/bridges.py +0 -0
  40. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/cc_in2p3.py +0 -0
  41. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/ec2.py +0 -0
  42. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/expanse.py +0 -0
  43. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/frontera.py +0 -0
  44. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/htex_local.py +0 -0
  45. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/illinoiscluster.py +0 -0
  46. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/kubernetes.py +0 -0
  47. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/local_threads.py +0 -0
  48. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/midway.py +0 -0
  49. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/osg.py +0 -0
  50. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/polaris.py +0 -0
  51. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/stampede2.py +0 -0
  52. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/summit.py +0 -0
  53. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/toss3_llnl.py +0 -0
  54. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/vineex_local.py +0 -0
  55. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/wqex_local.py +0 -0
  56. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/curvezmq.py +0 -0
  57. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/__init__.py +0 -0
  58. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/data_manager.py +0 -0
  59. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/file_noop.py +0 -0
  60. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/files.py +0 -0
  61. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/ftp.py +0 -0
  62. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/globus.py +0 -0
  63. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/http.py +0 -0
  64. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/rsync.py +0 -0
  65. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/staging.py +0 -0
  66. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/zip.py +0 -0
  67. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/__init__.py +0 -0
  68. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/dependency_resolvers.py +0 -0
  69. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/dflow.py +0 -0
  70. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/errors.py +0 -0
  71. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/futures.py +0 -0
  72. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/memoization.py +0 -0
  73. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/rundirs.py +0 -0
  74. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/states.py +0 -0
  75. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/taskrecord.py +0 -0
  76. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/errors.py +0 -0
  77. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/__init__.py +0 -0
  78. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/base.py +0 -0
  79. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/errors.py +0 -0
  80. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/flux/__init__.py +0 -0
  81. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/flux/execute_parsl_task.py +0 -0
  82. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/flux/executor.py +0 -0
  83. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/flux/flux_instance_manager.py +0 -0
  84. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/__init__.py +0 -0
  85. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/errors.py +0 -0
  86. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/manager_record.py +0 -0
  87. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/monitoring_info.py +0 -0
  88. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/mpi_executor.py +0 -0
  89. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/mpi_prefix_composer.py +0 -0
  90. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/mpi_resource_management.py +0 -0
  91. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/probe.py +0 -0
  92. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/process_worker_pool.py +0 -0
  93. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/zmq_pipes.py +0 -0
  94. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/radical/__init__.py +0 -0
  95. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/radical/executor.py +0 -0
  96. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/radical/rpex_master.py +0 -0
  97. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/radical/rpex_resources.py +0 -0
  98. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/radical/rpex_worker.py +0 -0
  99. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/status_handling.py +0 -0
  100. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/__init__.py +0 -0
  101. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/errors.py +0 -0
  102. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/exec_parsl_function.py +0 -0
  103. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/executor.py +0 -0
  104. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/factory.py +0 -0
  105. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/factory_config.py +0 -0
  106. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/manager.py +0 -0
  107. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/manager_config.py +0 -0
  108. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/utils.py +0 -0
  109. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/threads.py +0 -0
  110. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/__init__.py +0 -0
  111. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/errors.py +0 -0
  112. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/exec_parsl_function.py +0 -0
  113. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/executor.py +0 -0
  114. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/parsl_coprocess.py +0 -0
  115. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/parsl_coprocess_stub.py +0 -0
  116. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/__init__.py +0 -0
  117. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/error_handlers.py +0 -0
  118. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/errors.py +0 -0
  119. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/job_status_poller.py +0 -0
  120. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/states.py +0 -0
  121. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/strategy.py +0 -0
  122. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/launchers/__init__.py +0 -0
  123. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/launchers/base.py +0 -0
  124. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/launchers/errors.py +0 -0
  125. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/launchers/launchers.py +0 -0
  126. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/log_utils.py +0 -0
  127. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/__init__.py +0 -0
  128. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/db_manager.py +0 -0
  129. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/message_type.py +0 -0
  130. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/monitoring.py +0 -0
  131. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/queries/__init__.py +0 -0
  132. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/queries/pandas.py +0 -0
  133. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/radios.py +0 -0
  134. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/remote.py +0 -0
  135. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/router.py +0 -0
  136. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/types.py +0 -0
  137. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/__init__.py +0 -0
  138. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/app.py +0 -0
  139. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/models.py +0 -0
  140. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/plots/__init__.py +0 -0
  141. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/plots/default/__init__.py +0 -0
  142. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/plots/default/task_plots.py +0 -0
  143. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/plots/default/workflow_plots.py +0 -0
  144. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/plots/default/workflow_resource_plots.py +0 -0
  145. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/static/parsl-logo-white.png +0 -0
  146. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/static/parsl-monitor.css +0 -0
  147. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/app.html +0 -0
  148. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/dag.html +0 -0
  149. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/error.html +0 -0
  150. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/layout.html +0 -0
  151. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/resource_usage.html +0 -0
  152. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/task.html +0 -0
  153. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/workflow.html +0 -0
  154. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/workflows_summary.html +0 -0
  155. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/utils.py +0 -0
  156. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/version.py +0 -0
  157. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/views.py +0 -0
  158. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/multiprocessing.py +0 -0
  159. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/process_loggers.py +0 -0
  160. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/__init__.py +0 -0
  161. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/ad_hoc/__init__.py +0 -0
  162. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/ad_hoc/ad_hoc.py +0 -0
  163. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/aws/__init__.py +0 -0
  164. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/aws/aws.py +0 -0
  165. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/aws/template.py +0 -0
  166. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/azure/__init__.py +0 -0
  167. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/azure/azure.py +0 -0
  168. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/azure/template.py +0 -0
  169. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/base.py +0 -0
  170. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/cluster_provider.py +0 -0
  171. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/cobalt/__init__.py +0 -0
  172. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/cobalt/cobalt.py +0 -0
  173. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/cobalt/template.py +0 -0
  174. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/condor/__init__.py +0 -0
  175. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/condor/condor.py +0 -0
  176. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/condor/template.py +0 -0
  177. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/errors.py +0 -0
  178. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/googlecloud/__init__.py +0 -0
  179. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/googlecloud/googlecloud.py +0 -0
  180. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/grid_engine/__init__.py +0 -0
  181. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/grid_engine/grid_engine.py +0 -0
  182. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/grid_engine/template.py +0 -0
  183. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/kubernetes/__init__.py +0 -0
  184. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/kubernetes/template.py +0 -0
  185. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/local/__init__.py +0 -0
  186. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/local/local.py +0 -0
  187. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/lsf/__init__.py +0 -0
  188. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/lsf/lsf.py +0 -0
  189. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/lsf/template.py +0 -0
  190. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/pbspro/__init__.py +0 -0
  191. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/pbspro/pbspro.py +0 -0
  192. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/pbspro/template.py +0 -0
  193. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/slurm/__init__.py +0 -0
  194. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/slurm/slurm.py +0 -0
  195. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/slurm/template.py +0 -0
  196. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/torque/__init__.py +0 -0
  197. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/torque/template.py +0 -0
  198. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/torque/torque.py +0 -0
  199. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/py.typed +0 -0
  200. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/__init__.py +0 -0
  201. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/base.py +0 -0
  202. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/concretes.py +0 -0
  203. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/errors.py +0 -0
  204. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/facade.py +0 -0
  205. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/proxystore.py +0 -0
  206. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/__init__.py +0 -0
  207. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/callables_helper.py +0 -0
  208. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/__init__.py +0 -0
  209. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/ad_hoc_cluster_htex.py +0 -0
  210. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/azure_single_node.py +0 -0
  211. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/bluewaters.py +0 -0
  212. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/bridges.py +0 -0
  213. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/cc_in2p3.py +0 -0
  214. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/comet.py +0 -0
  215. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/cooley_htex.py +0 -0
  216. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/ec2_single_node.py +0 -0
  217. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/ec2_spot.py +0 -0
  218. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/flux_local.py +0 -0
  219. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/frontera.py +0 -0
  220. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/htex_ad_hoc_cluster.py +0 -0
  221. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/htex_local.py +0 -0
  222. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/htex_local_alternate.py +0 -0
  223. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/htex_local_intask_staging.py +0 -0
  224. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/htex_local_rsync_staging.py +0 -0
  225. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_adhoc.py +0 -0
  226. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_radical.py +0 -0
  227. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_radical_mpi.py +0 -0
  228. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads.py +0 -0
  229. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_checkpoint.py +0 -0
  230. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_checkpoint_dfk_exit.py +0 -0
  231. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_checkpoint_periodic.py +0 -0
  232. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_checkpoint_task_exit.py +0 -0
  233. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_ftp_in_task.py +0 -0
  234. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_globus.py +0 -0
  235. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_http_in_task.py +0 -0
  236. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_monitoring.py +0 -0
  237. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_no_cache.py +0 -0
  238. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/midway.py +0 -0
  239. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/nscc_singapore.py +0 -0
  240. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/osg_htex.py +0 -0
  241. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/petrelkube.py +0 -0
  242. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/summit.py +0 -0
  243. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/swan_htex.py +0 -0
  244. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/taskvine_ex.py +0 -0
  245. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/theta.py +0 -0
  246. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/user_opts.py +0 -0
  247. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/workqueue_ex.py +0 -0
  248. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/conftest.py +0 -0
  249. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/__init__.py +0 -0
  250. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/latency.py +0 -0
  251. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_apps/__init__.py +0 -0
  252. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/__init__.py +0 -0
  253. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_channels.py +0 -0
  254. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_local_channel.py +0 -0
  255. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_scp_1.py +0 -0
  256. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_ssh_1.py +0 -0
  257. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_ssh_errors.py +0 -0
  258. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_ssh_file_transport.py +0 -0
  259. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_ssh_interactive.py +0 -0
  260. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_parsl_load_default_config.py +0 -0
  261. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_stress/__init__.py +0 -0
  262. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_stress/test_python_simple.py +0 -0
  263. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_stress/test_python_threads.py +0 -0
  264. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/__init__.py +0 -0
  265. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/htex_local.py +0 -0
  266. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_ad_hoc_htex.py +0 -0
  267. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_basic.py +0 -0
  268. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_fan_in_out_htex_remote.py +0 -0
  269. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_log_filter.py +0 -0
  270. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_memory_limits.py +0 -0
  271. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_oauth_ssh.py +0 -0
  272. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_regression_220.py +0 -0
  273. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_udp_simple.py +0 -0
  274. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_worker_count.py +0 -0
  275. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/__init__.py +0 -0
  276. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/htex_local.py +0 -0
  277. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/local_threads.py +0 -0
  278. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/test_scale.py +0 -0
  279. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/vineex_condor.py +0 -0
  280. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/vineex_local.py +0 -0
  281. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/wqex_condor.py +0 -0
  282. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/wqex_local.py +0 -0
  283. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/site_tests/__init__.py +0 -0
  284. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/site_tests/site_config_selector.py +0 -0
  285. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/site_tests/test_provider.py +0 -0
  286. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/site_tests/test_site.py +0 -0
  287. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/__init__.py +0 -0
  288. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_affinity.py +0 -0
  289. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_concurrent.py +0 -0
  290. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_dynamic_executor.py +0 -0
  291. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_ec2.py +0 -0
  292. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_launchers.py +0 -0
  293. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_local_adhoc.py +0 -0
  294. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_mpi/__init__.py +0 -0
  295. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_worker_info.py +0 -0
  296. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_aalst_patterns.py +0 -0
  297. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/__init__.py +0 -0
  298. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_apptimeout.py +0 -0
  299. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_basic.py +0 -0
  300. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_error_codes.py +0 -0
  301. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_keyword_overlaps.py +0 -0
  302. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_kwarg_storage.py +0 -0
  303. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_memoize.py +0 -0
  304. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_memoize_ignore_args.py +0 -0
  305. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py +0 -0
  306. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_multiline.py +0 -0
  307. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_pipeline.py +0 -0
  308. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_std_uri.py +0 -0
  309. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_stdout.py +0 -0
  310. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_callables.py +0 -0
  311. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_channels/__init__.py +0 -0
  312. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_channels/test_large_output.py +0 -0
  313. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/__init__.py +0 -0
  314. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_periodic.py +0 -0
  315. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_python_checkpoint_1.py +0 -0
  316. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_python_checkpoint_2.py +0 -0
  317. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_python_checkpoint_3.py +0 -0
  318. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_regression_232.py +0 -0
  319. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_regression_233.py +0 -0
  320. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_regression_239.py +0 -0
  321. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_task_exit.py +0 -0
  322. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_curvezmq.py +0 -0
  323. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/__init__.py +0 -0
  324. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_from_slides.py +0 -0
  325. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_kwargs.py +0 -0
  326. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_tutorial_1.py +0 -0
  327. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_workflow1.py +0 -0
  328. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_workflow2.py +0 -0
  329. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_workflow4.py +0 -0
  330. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/__init__.py +0 -0
  331. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_fail.py +0 -0
  332. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_python_walltime.py +0 -0
  333. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_rand_fail.py +0 -0
  334. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_resource_spec.py +0 -0
  335. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_retries.py +0 -0
  336. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_retry_handler.py +0 -0
  337. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_retry_handler_failure.py +0 -0
  338. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_serialization_fail.py +0 -0
  339. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_wrap_with_logs.py +0 -0
  340. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_flowcontrol/__init__.py +0 -0
  341. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_flux.py +0 -0
  342. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/__init__.py +0 -0
  343. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_basic.py +0 -0
  344. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_command_client_timeout.py +0 -0
  345. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_connected_blocks.py +0 -0
  346. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_cpu_affinity_explicit.py +0 -0
  347. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_disconnected_blocks.py +0 -0
  348. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_drain.py +0 -0
  349. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_manager_failure.py +0 -0
  350. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_managers_command.py +0 -0
  351. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_missing_worker.py +0 -0
  352. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_multiple_disconnected_blocks.py +0 -0
  353. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_worker_failure.py +0 -0
  354. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_zmq_binding.py +0 -0
  355. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/__init__.py +0 -0
  356. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_app_names.py +0 -0
  357. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_basic.py +0 -0
  358. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_db_locks.py +0 -0
  359. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_fuzz_zmq.py +0 -0
  360. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_htex_init_blocks_vs_monitoring.py +0 -0
  361. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_incomplete_futures.py +0 -0
  362. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_memoization_representation.py +0 -0
  363. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_stdouterr.py +0 -0
  364. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_viz_colouring.py +0 -0
  365. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/__init__.py +0 -0
  366. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_bad_mpi_config.py +0 -0
  367. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_mpi_mode_disabled.py +0 -0
  368. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py +0 -0
  369. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_mpi_prefix.py +0 -0
  370. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_mpi_scheduler.py +0 -0
  371. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_mpiex.py +0 -0
  372. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_resource_spec.py +0 -0
  373. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/__init__.py +0 -0
  374. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_cobalt_deprecation_warning.py +0 -0
  375. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_local_provider.py +0 -0
  376. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_pbspro_template.py +0 -0
  377. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_slurm_instantiate.py +0 -0
  378. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_slurm_template.py +0 -0
  379. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_submiterror_deprecation.py +0 -0
  380. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/__init__.py +0 -0
  381. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_arg_input_types.py +0 -0
  382. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_basic.py +0 -0
  383. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_context_manager.py +0 -0
  384. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_dep_standard_futures.py +0 -0
  385. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_dependencies.py +0 -0
  386. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_dependencies_deep.py +0 -0
  387. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_depfail_propagation.py +0 -0
  388. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_fail.py +0 -0
  389. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_fibonacci_iterative.py +0 -0
  390. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_fibonacci_recursive.py +0 -0
  391. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_futures.py +0 -0
  392. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_garbage_collect.py +0 -0
  393. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_import_fail.py +0 -0
  394. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_join.py +0 -0
  395. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_lifted.py +0 -0
  396. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_mapred.py +0 -0
  397. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_1.py +0 -0
  398. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_2.py +0 -0
  399. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_4.py +0 -0
  400. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_bad_id_for_memo.py +0 -0
  401. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_ignore_args.py +0 -0
  402. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_joinapp.py +0 -0
  403. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_outputs.py +0 -0
  404. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_overview.py +0 -0
  405. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_pipeline.py +0 -0
  406. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_pluggable_future_resolution.py +0 -0
  407. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_simple.py +0 -0
  408. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_timeout.py +0 -0
  409. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_type5.py +0 -0
  410. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_radical/__init__.py +0 -0
  411. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_radical/test_mpi_funcs.py +0 -0
  412. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/__init__.py +0 -0
  413. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_1480.py +0 -0
  414. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_1606_wait_for_current_tasks.py +0 -0
  415. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_1653.py +0 -0
  416. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_221.py +0 -0
  417. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_226.py +0 -0
  418. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_2652.py +0 -0
  419. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_69a.py +0 -0
  420. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_854.py +0 -0
  421. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_97_parallelism_0.py +0 -0
  422. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_98.py +0 -0
  423. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/__init__.py +0 -0
  424. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_block_error_handler.py +0 -0
  425. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_regression_1621.py +0 -0
  426. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_scale_down.py +0 -0
  427. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_scale_down_htex_auto_scale.py +0 -0
  428. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_scale_down_htex_unregistered.py +0 -0
  429. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_shutdown_scalein.py +0 -0
  430. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/__init__.py +0 -0
  431. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_2555_caching_deserializer.py +0 -0
  432. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_basic.py +0 -0
  433. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_htex_code_cache.py +0 -0
  434. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_pack_resource_spec.py +0 -0
  435. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_proxystore_configured.py +0 -0
  436. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_proxystore_impl.py +0 -0
  437. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_shutdown/__init__.py +0 -0
  438. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_shutdown/test_kill_monitoring.py +0 -0
  439. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/__init__.py +0 -0
  440. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/staging_provider.py +0 -0
  441. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_1316.py +0 -0
  442. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_docs_1.py +0 -0
  443. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_docs_2.py +0 -0
  444. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_elaborate_noop_file.py +0 -0
  445. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_file.py +0 -0
  446. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_file_apps.py +0 -0
  447. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_file_staging.py +0 -0
  448. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_output_chain_filenames.py +0 -0
  449. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_staging_ftp.py +0 -0
  450. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_staging_ftp_in_task.py +0 -0
  451. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_staging_globus.py +0 -0
  452. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_staging_https.py +0 -0
  453. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_staging_stdout.py +0 -0
  454. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_zip_in.py +0 -0
  455. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_zip_out.py +0 -0
  456. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_zip_to_zip.py +0 -0
  457. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_summary.py +0 -0
  458. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_thread_parallelism.py +0 -0
  459. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_threads/__init__.py +0 -0
  460. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_threads/test_configs.py +0 -0
  461. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_threads/test_lazy_errors.py +0 -0
  462. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_utils/__init__.py +0 -0
  463. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_utils/test_representation_mixin.py +0 -0
  464. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/unit/__init__.py +0 -0
  465. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/unit/test_file.py +0 -0
  466. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/unit/test_usage_tracking.py +0 -0
  467. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/utils.py +0 -0
  468. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/usage_tracking/__init__.py +0 -0
  469. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/usage_tracking/api.py +0 -0
  470. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/usage_tracking/levels.py +0 -0
  471. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/usage_tracking/usage.py +0 -0
  472. {parsl-2024.6.10 → parsl-2024.6.17}/parsl/utils.py +0 -0
  473. {parsl-2024.6.10 → parsl-2024.6.17}/parsl.egg-info/SOURCES.txt +0 -0
  474. {parsl-2024.6.10 → parsl-2024.6.17}/parsl.egg-info/dependency_links.txt +0 -0
  475. {parsl-2024.6.10 → parsl-2024.6.17}/parsl.egg-info/entry_points.txt +0 -0
  476. {parsl-2024.6.10 → parsl-2024.6.17}/parsl.egg-info/requires.txt +0 -0
  477. {parsl-2024.6.10 → parsl-2024.6.17}/parsl.egg-info/top_level.txt +0 -0
  478. {parsl-2024.6.10 → parsl-2024.6.17}/requirements.txt +0 -0
  479. {parsl-2024.6.10 → parsl-2024.6.17}/setup.cfg +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsl
3
- Version: 2024.6.10
3
+ Version: 2024.6.17
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.10.tar.gz
6
+ Download-URL: https://github.com/Parsl/parsl/archive/2024.06.17.tar.gz
7
7
  Author: The Parsl Team
8
8
  Author-email: parsl@googlegroups.com
9
9
  License: Apache 2.0
@@ -66,8 +66,6 @@ class AppBase(metaclass=ABCMeta):
66
66
  self.kwargs['walltime'] = params['walltime'].default
67
67
  if 'parsl_resource_specification' in params:
68
68
  self.kwargs['parsl_resource_specification'] = params['parsl_resource_specification'].default
69
- self.outputs = params['outputs'].default if 'outputs' in params else []
70
- self.inputs = params['inputs'].default if 'inputs' in params else []
71
69
 
72
70
  @abstractmethod
73
71
  def __call__(self, *args: Any, **kwargs: Any) -> AppFuture:
@@ -1,13 +1,13 @@
1
1
  import logging
2
2
  import math
3
3
  import pickle
4
+ import subprocess
4
5
  import threading
5
6
  import typing
6
7
  import warnings
7
8
  from collections import defaultdict
8
9
  from concurrent.futures import Future
9
10
  from dataclasses import dataclass
10
- from multiprocessing import Process
11
11
  from typing import Callable, Dict, List, Optional, Sequence, Tuple, Union
12
12
 
13
13
  import typeguard
@@ -18,7 +18,7 @@ from parsl.addresses import get_all_addresses
18
18
  from parsl.app.errors import RemoteExceptionWrapper
19
19
  from parsl.data_provider.staging import Staging
20
20
  from parsl.executors.errors import BadMessage, ScalingFailed
21
- from parsl.executors.high_throughput import interchange, zmq_pipes
21
+ from parsl.executors.high_throughput import zmq_pipes
22
22
  from parsl.executors.high_throughput.errors import CommandClientTimeoutError
23
23
  from parsl.executors.high_throughput.mpi_prefix_composer import (
24
24
  VALID_LAUNCHERS,
@@ -26,7 +26,6 @@ from parsl.executors.high_throughput.mpi_prefix_composer import (
26
26
  )
27
27
  from parsl.executors.status_handling import BlockProviderExecutor
28
28
  from parsl.jobs.states import TERMINAL_STATES, JobState, JobStatus
29
- from parsl.multiprocessing import ForkProcess
30
29
  from parsl.process_loggers import wrap_with_logs
31
30
  from parsl.providers import LocalProvider
32
31
  from parsl.providers.base import ExecutionProvider
@@ -305,7 +304,7 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
305
304
  self._task_counter = 0
306
305
  self.worker_ports = worker_ports
307
306
  self.worker_port_range = worker_port_range
308
- self.interchange_proc: Optional[Process] = None
307
+ self.interchange_proc: Optional[subprocess.Popen] = None
309
308
  self.interchange_port_range = interchange_port_range
310
309
  self.heartbeat_threshold = heartbeat_threshold
311
310
  self.heartbeat_period = heartbeat_period
@@ -520,38 +519,45 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
520
519
 
521
520
  logger.info("Queue management worker finished")
522
521
 
523
- def _start_local_interchange_process(self):
522
+ def _start_local_interchange_process(self) -> None:
524
523
  """ Starts the interchange process locally
525
524
 
526
- Starts the interchange process locally and uses an internal command queue to
525
+ Starts the interchange process locally and uses the command queue to
527
526
  get the worker task and result ports that the interchange has bound to.
528
527
  """
529
- self.interchange_proc = ForkProcess(target=interchange.starter,
530
- kwargs={"client_address": "127.0.0.1",
531
- "client_ports": (self.outgoing_q.port,
532
- self.incoming_q.port,
533
- self.command_client.port),
534
- "interchange_address": self.address,
535
- "worker_ports": self.worker_ports,
536
- "worker_port_range": self.worker_port_range,
537
- "hub_address": self.hub_address,
538
- "hub_zmq_port": self.hub_zmq_port,
539
- "logdir": self.logdir,
540
- "heartbeat_threshold": self.heartbeat_threshold,
541
- "poll_period": self.poll_period,
542
- "logging_level": logging.DEBUG if self.worker_debug else logging.INFO,
543
- "cert_dir": self.cert_dir,
544
- },
545
- daemon=True,
546
- name="HTEX-Interchange"
547
- )
548
- self.interchange_proc.start()
549
528
 
529
+ interchange_config = {"client_address": "127.0.0.1",
530
+ "client_ports": (self.outgoing_q.port,
531
+ self.incoming_q.port,
532
+ self.command_client.port),
533
+ "interchange_address": self.address,
534
+ "worker_ports": self.worker_ports,
535
+ "worker_port_range": self.worker_port_range,
536
+ "hub_address": self.hub_address,
537
+ "hub_zmq_port": self.hub_zmq_port,
538
+ "logdir": self.logdir,
539
+ "heartbeat_threshold": self.heartbeat_threshold,
540
+ "poll_period": self.poll_period,
541
+ "logging_level": logging.DEBUG if self.worker_debug else logging.INFO,
542
+ "cert_dir": self.cert_dir,
543
+ }
544
+
545
+ config_pickle = pickle.dumps(interchange_config)
546
+
547
+ self.interchange_proc = subprocess.Popen(b"interchange.py", stdin=subprocess.PIPE)
548
+ stdin = self.interchange_proc.stdin
549
+ assert stdin is not None, "Popen should have created an IO object (vs default None) because of PIPE mode"
550
+
551
+ logger.debug("Popened interchange process. Writing config object")
552
+ stdin.write(config_pickle)
553
+ stdin.flush()
554
+ logger.debug("Sent config object. Requesting worker ports")
550
555
  try:
551
556
  (self.worker_task_port, self.worker_result_port) = self.command_client.run("WORKER_PORTS", timeout_s=120)
552
557
  except CommandClientTimeoutError:
553
- logger.error("Interchange has not completed initialization in 120s. Aborting")
558
+ logger.error("Interchange has not completed initialization. Aborting")
554
559
  raise Exception("Interchange failed to start")
560
+ logger.debug("Got worker ports")
555
561
 
556
562
  def _start_queue_management_thread(self):
557
563
  """Method to start the management thread as a daemon.
@@ -810,13 +816,12 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
810
816
  logger.info("Attempting HighThroughputExecutor shutdown")
811
817
 
812
818
  self.interchange_proc.terminate()
813
- self.interchange_proc.join(timeout=timeout)
814
- if self.interchange_proc.is_alive():
819
+ try:
820
+ self.interchange_proc.wait(timeout=timeout)
821
+ except subprocess.TimeoutExpired:
815
822
  logger.info("Unable to terminate Interchange process; sending SIGKILL")
816
823
  self.interchange_proc.kill()
817
824
 
818
- self.interchange_proc.close()
819
-
820
825
  logger.info("Finished HighThroughputExecutor shutdown attempt")
821
826
 
822
827
  def get_usage_information(self):
@@ -672,13 +672,10 @@ def start_file_logger(filename: str, level: int = logging.DEBUG, format_string:
672
672
  logger.addHandler(handler)
673
673
 
674
674
 
675
- @wrap_with_logs(target="interchange")
676
- def starter(*args: Any, **kwargs: Any) -> None:
677
- """Start the interchange process
678
-
679
- The executor is expected to call this function. The args, kwargs match that of the Interchange.__init__
680
- """
675
+ if __name__ == "__main__":
681
676
  setproctitle("parsl: HTEX interchange")
682
- # logger = multiprocessing.get_logger()
683
- ic = Interchange(*args, **kwargs)
677
+
678
+ config = pickle.load(sys.stdin.buffer)
679
+
680
+ ic = Interchange(**config)
684
681
  ic.start()
@@ -243,13 +243,13 @@ class KubernetesProvider(ExecutionProvider, RepresentationMixin):
243
243
  for jid in to_poll_job_ids:
244
244
  phase = None
245
245
  try:
246
- pod_status = self.kube_client.read_namespaced_pod_status(name=jid, namespace=self.namespace)
246
+ pod = self.kube_client.read_namespaced_pod(name=jid, namespace=self.namespace)
247
247
  except Exception:
248
248
  logger.exception("Failed to poll pod {} status, most likely because pod was terminated".format(jid))
249
249
  if self.resources[jid]['status'] is JobStatus(JobState.RUNNING):
250
250
  phase = 'Unknown'
251
251
  else:
252
- phase = pod_status.status.phase
252
+ phase = pod.status.phase
253
253
  if phase:
254
254
  status = translate_table.get(phase, JobState.UNKNOWN)
255
255
  logger.debug("Updating pod {} with status {} to parsl status {}".format(jid,
@@ -286,7 +286,7 @@ class KubernetesProvider(ExecutionProvider, RepresentationMixin):
286
286
  # Create the environment variables and command to initiate IPP
287
287
  environment_vars = client.V1EnvVar(name="TEST", value="SOME DATA")
288
288
 
289
- launch_args = ["-c", "{0};".format(cmd_string)]
289
+ launch_args = ["-c", "{0}".format(cmd_string)]
290
290
 
291
291
  volume_mounts = []
292
292
  # Create mount paths for the volumes
@@ -1,11 +1,11 @@
1
1
  import pathlib
2
2
  import warnings
3
+ from subprocess import Popen, TimeoutExpired
3
4
  from unittest import mock
4
5
 
5
6
  import pytest
6
7
 
7
8
  from parsl import HighThroughputExecutor, curvezmq
8
- from parsl.multiprocessing import ForkProcess
9
9
 
10
10
  _MOCK_BASE = "parsl.executors.high_throughput.executor"
11
11
 
@@ -78,16 +78,33 @@ def test_htex_shutdown(
78
78
  timeout_expires: bool,
79
79
  htex: HighThroughputExecutor,
80
80
  ):
81
- mock_ix_proc = mock.Mock(spec=ForkProcess)
81
+ mock_ix_proc = mock.Mock(spec=Popen)
82
82
 
83
83
  if started:
84
84
  htex.interchange_proc = mock_ix_proc
85
- mock_ix_proc.is_alive.return_value = True
85
+
86
+ # This will, in the absence of any exit trigger, block forever if
87
+ # no timeout is given and if the interchange does not terminate.
88
+ # Raise an exception to report that, rather than actually block,
89
+ # and hope that nothing is catching that exception.
90
+
91
+ # this function implements the behaviour if the interchange has
92
+ # not received a termination call
93
+ def proc_wait_alive(timeout):
94
+ if timeout:
95
+ raise TimeoutExpired(cmd="mock-interchange", timeout=timeout)
96
+ else:
97
+ raise RuntimeError("This wait call would hang forever")
98
+
99
+ def proc_wait_terminated(timeout):
100
+ return 0
101
+
102
+ mock_ix_proc.wait.side_effect = proc_wait_alive
86
103
 
87
104
  if not timeout_expires:
88
105
  # Simulate termination of the Interchange process
89
106
  def kill_interchange(*args, **kwargs):
90
- mock_ix_proc.is_alive.return_value = False
107
+ mock_ix_proc.wait.side_effect = proc_wait_terminated
91
108
 
92
109
  mock_ix_proc.terminate.side_effect = kill_interchange
93
110
 
@@ -96,8 +113,8 @@ def test_htex_shutdown(
96
113
  mock_logs = mock_logger.info.call_args_list
97
114
  if started:
98
115
  assert mock_ix_proc.terminate.called
99
- assert mock_ix_proc.join.called
100
- assert {"timeout": 10} == mock_ix_proc.join.call_args[1]
116
+ assert mock_ix_proc.wait.called
117
+ assert {"timeout": 10} == mock_ix_proc.wait.call_args[1]
101
118
  if timeout_expires:
102
119
  assert "Unable to terminate Interchange" in mock_logs[1][0][0]
103
120
  assert mock_ix_proc.kill.called
@@ -105,7 +122,7 @@ def test_htex_shutdown(
105
122
  assert "Finished" in mock_logs[-1][0][0]
106
123
  else:
107
124
  assert not mock_ix_proc.terminate.called
108
- assert not mock_ix_proc.join.called
125
+ assert not mock_ix_proc.wait.called
109
126
  assert "has not started" in mock_logs[0][0][0]
110
127
 
111
128
 
@@ -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.06.10'
6
+ VERSION = '2024.06.17'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsl
3
- Version: 2024.6.10
3
+ Version: 2024.6.17
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.10.tar.gz
6
+ Download-URL: https://github.com/Parsl/parsl/archive/2024.06.17.tar.gz
7
7
  Author: The Parsl Team
8
8
  Author-email: parsl@googlegroups.com
9
9
  License: Apache 2.0
@@ -56,6 +56,7 @@ setup(
56
56
  python_requires=">=3.8.0",
57
57
  install_requires=install_requires,
58
58
  scripts = ['parsl/executors/high_throughput/process_worker_pool.py',
59
+ 'parsl/executors/high_throughput/interchange.py',
59
60
  'parsl/executors/workqueue/exec_parsl_function.py',
60
61
  'parsl/executors/workqueue/parsl_coprocess.py',
61
62
  ],
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes