parsl 2024.10.7__tar.gz → 2024.10.14__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 (477) hide show
  1. {parsl-2024.10.7/parsl.egg-info → parsl-2024.10.14}/PKG-INFO +3 -4
  2. {parsl-2024.10.7 → parsl-2024.10.14}/README.rst +1 -1
  3. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/errors.py +13 -0
  4. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/executor.py +7 -8
  5. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/interchange.py +1 -19
  6. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/mpi_prefix_composer.py +5 -23
  7. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/threads.py +3 -2
  8. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/workqueue/executor.py +6 -5
  9. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/conftest.py +1 -1
  10. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_error_handling/test_resource_spec.py +10 -14
  11. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_resource_spec_validation.py +1 -3
  12. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py +2 -4
  13. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_mpi_apps/test_resource_spec.py +2 -5
  14. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/version.py +1 -1
  15. {parsl-2024.10.7 → parsl-2024.10.14/parsl.egg-info}/PKG-INFO +3 -4
  16. {parsl-2024.10.7 → parsl-2024.10.14}/setup.py +1 -2
  17. {parsl-2024.10.7 → parsl-2024.10.14}/LICENSE +0 -0
  18. {parsl-2024.10.7 → parsl-2024.10.14}/MANIFEST.in +0 -0
  19. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/__init__.py +0 -0
  20. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/addresses.py +0 -0
  21. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/app/__init__.py +0 -0
  22. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/app/app.py +0 -0
  23. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/app/bash.py +0 -0
  24. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/app/errors.py +0 -0
  25. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/app/futures.py +0 -0
  26. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/app/python.py +0 -0
  27. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/benchmark/__init__.py +0 -0
  28. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/benchmark/perf.py +0 -0
  29. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/__init__.py +0 -0
  30. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/base.py +0 -0
  31. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/errors.py +0 -0
  32. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/local/__init__.py +0 -0
  33. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/local/local.py +0 -0
  34. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/oauth_ssh/__init__.py +0 -0
  35. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/oauth_ssh/oauth_ssh.py +0 -0
  36. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/ssh/__init__.py +0 -0
  37. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/ssh/ssh.py +0 -0
  38. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/ssh_il/__init__.py +0 -0
  39. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/channels/ssh_il/ssh_il.py +0 -0
  40. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/concurrent/__init__.py +0 -0
  41. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/config.py +0 -0
  42. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/ASPIRE1.py +0 -0
  43. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/Azure.py +0 -0
  44. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/__init__.py +0 -0
  45. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/bridges.py +0 -0
  46. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/cc_in2p3.py +0 -0
  47. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/ec2.py +0 -0
  48. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/expanse.py +0 -0
  49. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/frontera.py +0 -0
  50. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/htex_local.py +0 -0
  51. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/illinoiscluster.py +0 -0
  52. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/improv.py +0 -0
  53. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/kubernetes.py +0 -0
  54. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/local_threads.py +0 -0
  55. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/midway.py +0 -0
  56. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/osg.py +0 -0
  57. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/polaris.py +0 -0
  58. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/stampede2.py +0 -0
  59. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/summit.py +0 -0
  60. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/toss3_llnl.py +0 -0
  61. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/vineex_local.py +0 -0
  62. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/configs/wqex_local.py +0 -0
  63. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/curvezmq.py +0 -0
  64. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/data_provider/__init__.py +0 -0
  65. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/data_provider/data_manager.py +0 -0
  66. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/data_provider/file_noop.py +0 -0
  67. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/data_provider/files.py +0 -0
  68. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/data_provider/ftp.py +0 -0
  69. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/data_provider/globus.py +0 -0
  70. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/data_provider/http.py +0 -0
  71. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/data_provider/rsync.py +0 -0
  72. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/data_provider/staging.py +0 -0
  73. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/data_provider/zip.py +0 -0
  74. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/dataflow/__init__.py +0 -0
  75. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/dataflow/dependency_resolvers.py +0 -0
  76. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/dataflow/dflow.py +0 -0
  77. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/dataflow/errors.py +0 -0
  78. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/dataflow/futures.py +0 -0
  79. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/dataflow/memoization.py +0 -0
  80. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/dataflow/rundirs.py +0 -0
  81. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/dataflow/states.py +0 -0
  82. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/dataflow/taskrecord.py +0 -0
  83. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/errors.py +0 -0
  84. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/__init__.py +0 -0
  85. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/base.py +0 -0
  86. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/flux/__init__.py +0 -0
  87. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/flux/execute_parsl_task.py +0 -0
  88. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/flux/executor.py +0 -0
  89. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/flux/flux_instance_manager.py +0 -0
  90. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/__init__.py +0 -0
  91. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/errors.py +0 -0
  92. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/manager_record.py +0 -0
  93. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/manager_selector.py +0 -0
  94. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/monitoring_info.py +0 -0
  95. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/mpi_executor.py +0 -0
  96. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/mpi_resource_management.py +0 -0
  97. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/probe.py +0 -0
  98. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/process_worker_pool.py +0 -0
  99. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/high_throughput/zmq_pipes.py +0 -0
  100. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/radical/__init__.py +0 -0
  101. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/radical/executor.py +0 -0
  102. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/radical/rpex_resources.py +0 -0
  103. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/radical/rpex_worker.py +0 -0
  104. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/status_handling.py +0 -0
  105. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/taskvine/__init__.py +0 -0
  106. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/taskvine/errors.py +0 -0
  107. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/taskvine/exec_parsl_function.py +0 -0
  108. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/taskvine/executor.py +0 -0
  109. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/taskvine/factory.py +0 -0
  110. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/taskvine/factory_config.py +0 -0
  111. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/taskvine/manager.py +0 -0
  112. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/taskvine/manager_config.py +0 -0
  113. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/taskvine/utils.py +0 -0
  114. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/workqueue/__init__.py +0 -0
  115. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/workqueue/errors.py +0 -0
  116. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/workqueue/exec_parsl_function.py +0 -0
  117. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/workqueue/parsl_coprocess.py +0 -0
  118. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/executors/workqueue/parsl_coprocess_stub.py +0 -0
  119. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/jobs/__init__.py +0 -0
  120. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/jobs/error_handlers.py +0 -0
  121. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/jobs/errors.py +0 -0
  122. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/jobs/job_status_poller.py +0 -0
  123. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/jobs/states.py +0 -0
  124. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/jobs/strategy.py +0 -0
  125. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/launchers/__init__.py +0 -0
  126. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/launchers/base.py +0 -0
  127. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/launchers/errors.py +0 -0
  128. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/launchers/launchers.py +0 -0
  129. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/log_utils.py +0 -0
  130. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/__init__.py +0 -0
  131. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/db_manager.py +0 -0
  132. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/errors.py +0 -0
  133. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/message_type.py +0 -0
  134. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/monitoring.py +0 -0
  135. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/queries/__init__.py +0 -0
  136. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/queries/pandas.py +0 -0
  137. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/radios.py +0 -0
  138. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/remote.py +0 -0
  139. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/router.py +0 -0
  140. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/types.py +0 -0
  141. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/__init__.py +0 -0
  142. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/app.py +0 -0
  143. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/models.py +0 -0
  144. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/plots/__init__.py +0 -0
  145. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/plots/default/__init__.py +0 -0
  146. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/plots/default/task_plots.py +0 -0
  147. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/plots/default/workflow_plots.py +0 -0
  148. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/plots/default/workflow_resource_plots.py +0 -0
  149. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/static/parsl-logo-white.png +0 -0
  150. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/static/parsl-monitor.css +0 -0
  151. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/templates/app.html +0 -0
  152. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/templates/dag.html +0 -0
  153. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/templates/error.html +0 -0
  154. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/templates/layout.html +0 -0
  155. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/templates/resource_usage.html +0 -0
  156. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/templates/task.html +0 -0
  157. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/templates/workflow.html +0 -0
  158. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/templates/workflows_summary.html +0 -0
  159. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/utils.py +0 -0
  160. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/version.py +0 -0
  161. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/monitoring/visualization/views.py +0 -0
  162. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/multiprocessing.py +0 -0
  163. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/process_loggers.py +0 -0
  164. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/__init__.py +0 -0
  165. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/ad_hoc/__init__.py +0 -0
  166. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/ad_hoc/ad_hoc.py +0 -0
  167. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/aws/__init__.py +0 -0
  168. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/aws/aws.py +0 -0
  169. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/aws/template.py +0 -0
  170. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/azure/__init__.py +0 -0
  171. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/azure/azure.py +0 -0
  172. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/azure/template.py +0 -0
  173. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/base.py +0 -0
  174. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/cluster_provider.py +0 -0
  175. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/cobalt/__init__.py +0 -0
  176. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/cobalt/cobalt.py +0 -0
  177. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/cobalt/template.py +0 -0
  178. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/condor/__init__.py +0 -0
  179. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/condor/condor.py +0 -0
  180. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/condor/template.py +0 -0
  181. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/errors.py +0 -0
  182. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/googlecloud/__init__.py +0 -0
  183. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/googlecloud/googlecloud.py +0 -0
  184. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/grid_engine/__init__.py +0 -0
  185. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/grid_engine/grid_engine.py +0 -0
  186. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/grid_engine/template.py +0 -0
  187. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/kubernetes/__init__.py +0 -0
  188. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/kubernetes/kube.py +0 -0
  189. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/kubernetes/template.py +0 -0
  190. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/local/__init__.py +0 -0
  191. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/local/local.py +0 -0
  192. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/lsf/__init__.py +0 -0
  193. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/lsf/lsf.py +0 -0
  194. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/lsf/template.py +0 -0
  195. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/pbspro/__init__.py +0 -0
  196. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/pbspro/pbspro.py +0 -0
  197. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/pbspro/template.py +0 -0
  198. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/slurm/__init__.py +0 -0
  199. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/slurm/slurm.py +0 -0
  200. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/slurm/template.py +0 -0
  201. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/torque/__init__.py +0 -0
  202. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/torque/template.py +0 -0
  203. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/providers/torque/torque.py +0 -0
  204. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/py.typed +0 -0
  205. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/serialize/__init__.py +0 -0
  206. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/serialize/base.py +0 -0
  207. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/serialize/concretes.py +0 -0
  208. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/serialize/errors.py +0 -0
  209. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/serialize/facade.py +0 -0
  210. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/serialize/proxystore.py +0 -0
  211. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/__init__.py +0 -0
  212. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/callables_helper.py +0 -0
  213. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/__init__.py +0 -0
  214. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/azure_single_node.py +0 -0
  215. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/bluewaters.py +0 -0
  216. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/bridges.py +0 -0
  217. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/cc_in2p3.py +0 -0
  218. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/comet.py +0 -0
  219. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/cooley_htex.py +0 -0
  220. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/ec2_single_node.py +0 -0
  221. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/ec2_spot.py +0 -0
  222. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/flux_local.py +0 -0
  223. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/frontera.py +0 -0
  224. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/htex_local.py +0 -0
  225. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/htex_local_alternate.py +0 -0
  226. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/htex_local_intask_staging.py +0 -0
  227. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/htex_local_rsync_staging.py +0 -0
  228. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_adhoc.py +0 -0
  229. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_radical.py +0 -0
  230. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_radical_mpi.py +0 -0
  231. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_threads.py +0 -0
  232. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_threads_checkpoint.py +0 -0
  233. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_threads_checkpoint_dfk_exit.py +0 -0
  234. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_threads_checkpoint_periodic.py +0 -0
  235. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_threads_checkpoint_task_exit.py +0 -0
  236. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_threads_ftp_in_task.py +0 -0
  237. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_threads_globus.py +0 -0
  238. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_threads_http_in_task.py +0 -0
  239. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_threads_monitoring.py +0 -0
  240. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/local_threads_no_cache.py +0 -0
  241. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/midway.py +0 -0
  242. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/nscc_singapore.py +0 -0
  243. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/osg_htex.py +0 -0
  244. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/petrelkube.py +0 -0
  245. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/slurm_local.py +0 -0
  246. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/summit.py +0 -0
  247. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/taskvine_ex.py +0 -0
  248. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/theta.py +0 -0
  249. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/user_opts.py +0 -0
  250. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/configs/workqueue_ex.py +0 -0
  251. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/integration/__init__.py +0 -0
  252. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/integration/latency.py +0 -0
  253. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/integration/test_apps/__init__.py +0 -0
  254. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/integration/test_channels/__init__.py +0 -0
  255. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/integration/test_channels/test_channels.py +0 -0
  256. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/integration/test_channels/test_local_channel.py +0 -0
  257. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/integration/test_parsl_load_default_config.py +0 -0
  258. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/integration/test_stress/__init__.py +0 -0
  259. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/integration/test_stress/test_python_simple.py +0 -0
  260. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/integration/test_stress/test_python_threads.py +0 -0
  261. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/manual_tests/__init__.py +0 -0
  262. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/manual_tests/htex_local.py +0 -0
  263. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/manual_tests/test_basic.py +0 -0
  264. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/manual_tests/test_fan_in_out_htex_remote.py +0 -0
  265. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/manual_tests/test_log_filter.py +0 -0
  266. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/manual_tests/test_memory_limits.py +0 -0
  267. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/manual_tests/test_regression_220.py +0 -0
  268. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/manual_tests/test_udp_simple.py +0 -0
  269. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/manual_tests/test_worker_count.py +0 -0
  270. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/scaling_tests/__init__.py +0 -0
  271. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/scaling_tests/htex_local.py +0 -0
  272. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/scaling_tests/local_threads.py +0 -0
  273. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/scaling_tests/test_scale.py +0 -0
  274. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/scaling_tests/vineex_condor.py +0 -0
  275. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/scaling_tests/vineex_local.py +0 -0
  276. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/scaling_tests/wqex_condor.py +0 -0
  277. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/scaling_tests/wqex_local.py +0 -0
  278. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/site_tests/__init__.py +0 -0
  279. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/site_tests/site_config_selector.py +0 -0
  280. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/site_tests/test_provider.py +0 -0
  281. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/site_tests/test_site.py +0 -0
  282. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/sites/__init__.py +0 -0
  283. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/sites/test_affinity.py +0 -0
  284. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/sites/test_concurrent.py +0 -0
  285. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/sites/test_dynamic_executor.py +0 -0
  286. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/sites/test_ec2.py +0 -0
  287. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/sites/test_launchers.py +0 -0
  288. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/sites/test_local_adhoc.py +0 -0
  289. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/sites/test_mpi/__init__.py +0 -0
  290. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/sites/test_worker_info.py +0 -0
  291. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_aalst_patterns.py +0 -0
  292. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/__init__.py +0 -0
  293. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_apptimeout.py +0 -0
  294. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_basic.py +0 -0
  295. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_error_codes.py +0 -0
  296. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_inputs_default.py +0 -0
  297. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_keyword_overlaps.py +0 -0
  298. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_kwarg_storage.py +0 -0
  299. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_memoize.py +0 -0
  300. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_memoize_ignore_args.py +0 -0
  301. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py +0 -0
  302. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_multiline.py +0 -0
  303. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_pipeline.py +0 -0
  304. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_std_uri.py +0 -0
  305. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_bash_apps/test_stdout.py +0 -0
  306. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_callables.py +0 -0
  307. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_channels/__init__.py +0 -0
  308. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_channels/test_dfk_close.py +0 -0
  309. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_channels/test_large_output.py +0 -0
  310. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_checkpointing/__init__.py +0 -0
  311. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_checkpointing/test_periodic.py +0 -0
  312. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_checkpointing/test_python_checkpoint_1.py +0 -0
  313. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_checkpointing/test_python_checkpoint_2.py +0 -0
  314. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_checkpointing/test_python_checkpoint_3.py +0 -0
  315. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_checkpointing/test_regression_232.py +0 -0
  316. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_checkpointing/test_regression_233.py +0 -0
  317. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_checkpointing/test_regression_239.py +0 -0
  318. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_checkpointing/test_task_exit.py +0 -0
  319. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_curvezmq.py +0 -0
  320. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_docs/__init__.py +0 -0
  321. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_docs/test_from_slides.py +0 -0
  322. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_docs/test_kwargs.py +0 -0
  323. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_docs/test_tutorial_1.py +0 -0
  324. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_docs/test_workflow1.py +0 -0
  325. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_docs/test_workflow2.py +0 -0
  326. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_docs/test_workflow4.py +0 -0
  327. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_error_handling/__init__.py +0 -0
  328. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_error_handling/test_fail.py +0 -0
  329. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_error_handling/test_python_walltime.py +0 -0
  330. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_error_handling/test_rand_fail.py +0 -0
  331. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_error_handling/test_retries.py +0 -0
  332. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_error_handling/test_retry_handler.py +0 -0
  333. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_error_handling/test_retry_handler_failure.py +0 -0
  334. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_error_handling/test_serialization_fail.py +0 -0
  335. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_error_handling/test_wrap_with_logs.py +0 -0
  336. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_flowcontrol/__init__.py +0 -0
  337. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_flux.py +0 -0
  338. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/__init__.py +0 -0
  339. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_basic.py +0 -0
  340. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_command_client_timeout.py +0 -0
  341. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_connected_blocks.py +0 -0
  342. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_cpu_affinity_explicit.py +0 -0
  343. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_disconnected_blocks.py +0 -0
  344. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_disconnected_blocks_failing_provider.py +0 -0
  345. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_drain.py +0 -0
  346. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_htex.py +0 -0
  347. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_manager_failure.py +0 -0
  348. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_managers_command.py +0 -0
  349. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_missing_worker.py +0 -0
  350. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_multiple_disconnected_blocks.py +0 -0
  351. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_worker_failure.py +0 -0
  352. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_htex/test_zmq_binding.py +0 -0
  353. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_monitoring/__init__.py +0 -0
  354. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_monitoring/test_app_names.py +0 -0
  355. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_monitoring/test_basic.py +0 -0
  356. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_monitoring/test_db_locks.py +0 -0
  357. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_monitoring/test_fuzz_zmq.py +0 -0
  358. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_monitoring/test_htex_init_blocks_vs_monitoring.py +0 -0
  359. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_monitoring/test_incomplete_futures.py +0 -0
  360. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_monitoring/test_memoization_representation.py +0 -0
  361. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_monitoring/test_stdouterr.py +0 -0
  362. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_monitoring/test_viz_colouring.py +0 -0
  363. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_mpi_apps/__init__.py +0 -0
  364. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_mpi_apps/test_bad_mpi_config.py +0 -0
  365. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_mpi_apps/test_mpi_prefix.py +0 -0
  366. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_mpi_apps/test_mpi_scheduler.py +0 -0
  367. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_mpi_apps/test_mpiex.py +0 -0
  368. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_providers/__init__.py +0 -0
  369. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_providers/test_cobalt_deprecation_warning.py +0 -0
  370. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_providers/test_local_provider.py +0 -0
  371. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_providers/test_pbspro_template.py +0 -0
  372. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_providers/test_slurm_instantiate.py +0 -0
  373. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_providers/test_slurm_template.py +0 -0
  374. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_providers/test_submiterror_deprecation.py +0 -0
  375. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/__init__.py +0 -0
  376. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_arg_input_types.py +0 -0
  377. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_basic.py +0 -0
  378. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_context_manager.py +0 -0
  379. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_dep_standard_futures.py +0 -0
  380. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_dependencies.py +0 -0
  381. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_dependencies_deep.py +0 -0
  382. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_depfail_propagation.py +0 -0
  383. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_fail.py +0 -0
  384. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_fibonacci_iterative.py +0 -0
  385. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_fibonacci_recursive.py +0 -0
  386. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_futures.py +0 -0
  387. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_garbage_collect.py +0 -0
  388. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_import_fail.py +0 -0
  389. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_inputs_default.py +0 -0
  390. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_join.py +0 -0
  391. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_lifted.py +0 -0
  392. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_mapred.py +0 -0
  393. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_memoize_1.py +0 -0
  394. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_memoize_2.py +0 -0
  395. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_memoize_4.py +0 -0
  396. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_memoize_bad_id_for_memo.py +0 -0
  397. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_memoize_ignore_args.py +0 -0
  398. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_memoize_joinapp.py +0 -0
  399. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_outputs.py +0 -0
  400. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_overview.py +0 -0
  401. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_pipeline.py +0 -0
  402. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_pluggable_future_resolution.py +0 -0
  403. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_simple.py +0 -0
  404. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_timeout.py +0 -0
  405. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_python_apps/test_type5.py +0 -0
  406. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_radical/__init__.py +0 -0
  407. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_radical/test_mpi_funcs.py +0 -0
  408. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/__init__.py +0 -0
  409. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/test_1480.py +0 -0
  410. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/test_1606_wait_for_current_tasks.py +0 -0
  411. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/test_1653.py +0 -0
  412. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/test_221.py +0 -0
  413. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/test_226.py +0 -0
  414. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/test_2652.py +0 -0
  415. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/test_69a.py +0 -0
  416. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/test_854.py +0 -0
  417. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/test_97_parallelism_0.py +0 -0
  418. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_regression/test_98.py +0 -0
  419. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_scaling/__init__.py +0 -0
  420. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_scaling/test_block_error_handler.py +0 -0
  421. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_scaling/test_regression_1621.py +0 -0
  422. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_scaling/test_regression_3568_scaledown_vs_MISSING.py +0 -0
  423. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_scaling/test_scale_down.py +0 -0
  424. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_scaling/test_scale_down_htex_auto_scale.py +0 -0
  425. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_scaling/test_scale_down_htex_unregistered.py +0 -0
  426. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_scaling/test_shutdown_scalein.py +0 -0
  427. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_serialization/__init__.py +0 -0
  428. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_serialization/test_2555_caching_deserializer.py +0 -0
  429. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_serialization/test_3495_deserialize_managerlost.py +0 -0
  430. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_serialization/test_basic.py +0 -0
  431. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_serialization/test_htex_code_cache.py +0 -0
  432. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_serialization/test_pack_resource_spec.py +0 -0
  433. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_serialization/test_proxystore_configured.py +0 -0
  434. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_serialization/test_proxystore_impl.py +0 -0
  435. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_shutdown/__init__.py +0 -0
  436. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_shutdown/test_kill_monitoring.py +0 -0
  437. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/__init__.py +0 -0
  438. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/staging_provider.py +0 -0
  439. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_1316.py +0 -0
  440. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_docs_1.py +0 -0
  441. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_docs_2.py +0 -0
  442. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_elaborate_noop_file.py +0 -0
  443. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_file.py +0 -0
  444. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_file_apps.py +0 -0
  445. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_file_staging.py +0 -0
  446. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_output_chain_filenames.py +0 -0
  447. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_staging_ftp.py +0 -0
  448. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_staging_ftp_in_task.py +0 -0
  449. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_staging_globus.py +0 -0
  450. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_staging_https.py +0 -0
  451. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_staging_stdout.py +0 -0
  452. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_zip_in.py +0 -0
  453. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_zip_out.py +0 -0
  454. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_staging/test_zip_to_zip.py +0 -0
  455. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_summary.py +0 -0
  456. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_thread_parallelism.py +0 -0
  457. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_threads/__init__.py +0 -0
  458. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_threads/test_configs.py +0 -0
  459. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_threads/test_lazy_errors.py +0 -0
  460. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_utils/__init__.py +0 -0
  461. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/test_utils/test_representation_mixin.py +0 -0
  462. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/unit/__init__.py +0 -0
  463. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/unit/test_file.py +0 -0
  464. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/unit/test_usage_tracking.py +0 -0
  465. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/tests/utils.py +0 -0
  466. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/usage_tracking/__init__.py +0 -0
  467. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/usage_tracking/api.py +0 -0
  468. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/usage_tracking/levels.py +0 -0
  469. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/usage_tracking/usage.py +0 -0
  470. {parsl-2024.10.7 → parsl-2024.10.14}/parsl/utils.py +0 -0
  471. {parsl-2024.10.7 → parsl-2024.10.14}/parsl.egg-info/SOURCES.txt +0 -0
  472. {parsl-2024.10.7 → parsl-2024.10.14}/parsl.egg-info/dependency_links.txt +0 -0
  473. {parsl-2024.10.7 → parsl-2024.10.14}/parsl.egg-info/entry_points.txt +0 -0
  474. {parsl-2024.10.7 → parsl-2024.10.14}/parsl.egg-info/requires.txt +0 -0
  475. {parsl-2024.10.7 → parsl-2024.10.14}/parsl.egg-info/top_level.txt +0 -0
  476. {parsl-2024.10.7 → parsl-2024.10.14}/requirements.txt +0 -0
  477. {parsl-2024.10.7 → parsl-2024.10.14}/setup.cfg +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsl
3
- Version: 2024.10.7
3
+ Version: 2024.10.14
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.10.07.tar.gz
6
+ Download-URL: https://github.com/Parsl/parsl/archive/2024.10.14.tar.gz
7
7
  Author: The Parsl Team
8
8
  Author-email: parsl@googlegroups.com
9
9
  License: Apache 2.0
@@ -11,12 +11,11 @@ Keywords: Workflows,Scientific computing
11
11
  Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: Apache Software License
14
- Classifier: Programming Language :: Python :: 3.8
15
14
  Classifier: Programming Language :: Python :: 3.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
19
- Requires-Python: >=3.8.0
18
+ Requires-Python: >=3.9.0
20
19
  Provides-Extra: monitoring
21
20
  Provides-Extra: visualization
22
21
  Provides-Extra: aws
@@ -117,7 +117,7 @@ For Developers
117
117
  Requirements
118
118
  ============
119
119
 
120
- Parsl is supported in Python 3.8+. Requirements can be found `here <requirements.txt>`_. Requirements for running tests can be found `here <test-requirements.txt>`_.
120
+ Parsl is supported in Python 3.9+. Requirements can be found `here <requirements.txt>`_. Requirements for running tests can be found `here <test-requirements.txt>`_.
121
121
 
122
122
  Code of Conduct
123
123
  ===============
@@ -1,4 +1,6 @@
1
1
  """Exceptions raise by Executors."""
2
+ from typing import Set
3
+
2
4
  from parsl.errors import ParslError
3
5
  from parsl.executors.base import ParslExecutor
4
6
 
@@ -44,6 +46,17 @@ class UnsupportedFeatureError(ExecutorError):
44
46
  self.current_executor)
45
47
 
46
48
 
49
+ class InvalidResourceSpecification(ExecutorError):
50
+ """Error raised when Invalid input is supplied via resource Specification"""
51
+
52
+ def __init__(self, invalid_keys: Set[str], message: str = ''):
53
+ self.invalid_keys = invalid_keys
54
+ self.message = message
55
+
56
+ def __str__(self):
57
+ return f"Invalid Resource Specification Supplied: {self.invalid_keys}. {self.message}"
58
+
59
+
47
60
  class ScalingFailed(ExecutorError):
48
61
  """Scaling failed due to error in Execution provider."""
49
62
 
@@ -16,16 +16,17 @@ from parsl import curvezmq
16
16
  from parsl.addresses import get_all_addresses
17
17
  from parsl.app.errors import RemoteExceptionWrapper
18
18
  from parsl.data_provider.staging import Staging
19
- from parsl.executors.errors import BadMessage, ScalingFailed
19
+ from parsl.executors.errors import (
20
+ BadMessage,
21
+ InvalidResourceSpecification,
22
+ ScalingFailed,
23
+ )
20
24
  from parsl.executors.high_throughput import zmq_pipes
21
25
  from parsl.executors.high_throughput.errors import CommandClientTimeoutError
22
26
  from parsl.executors.high_throughput.manager_selector import (
23
27
  ManagerSelector,
24
28
  RandomManagerSelector,
25
29
  )
26
- from parsl.executors.high_throughput.mpi_prefix_composer import (
27
- InvalidResourceSpecification,
28
- )
29
30
  from parsl.executors.status_handling import BlockProviderExecutor
30
31
  from parsl.jobs.states import TERMINAL_STATES, JobState, JobStatus
31
32
  from parsl.process_loggers import wrap_with_logs
@@ -459,9 +460,7 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
459
460
  except pickle.UnpicklingError:
460
461
  raise BadMessage("Message received could not be unpickled")
461
462
 
462
- if msg['type'] == 'heartbeat':
463
- continue
464
- elif msg['type'] == 'result':
463
+ if msg['type'] == 'result':
465
464
  try:
466
465
  tid = msg['task_id']
467
466
  except Exception:
@@ -581,7 +580,7 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
581
580
  def outstanding(self) -> int:
582
581
  """Returns the count of tasks outstanding across the interchange
583
582
  and managers"""
584
- return self.command_client.run("OUTSTANDING_C")
583
+ return len(self.tasks)
585
584
 
586
585
  @property
587
586
  def connected_workers(self) -> int:
@@ -6,7 +6,6 @@ import os
6
6
  import pickle
7
7
  import platform
8
8
  import queue
9
- import signal
10
9
  import sys
11
10
  import threading
12
11
  import time
@@ -252,13 +251,7 @@ class Interchange:
252
251
  try:
253
252
  command_req = self.command_channel.recv_pyobj()
254
253
  logger.debug("Received command request: {}".format(command_req))
255
- if command_req == "OUTSTANDING_C":
256
- outstanding = self.pending_task_queue.qsize()
257
- for manager in self._ready_managers.values():
258
- outstanding += len(manager['tasks'])
259
- reply = outstanding
260
-
261
- elif command_req == "CONNECTED_BLOCKS":
254
+ if command_req == "CONNECTED_BLOCKS":
262
255
  reply = self.connected_block_history
263
256
 
264
257
  elif command_req == "WORKERS":
@@ -319,16 +312,6 @@ class Interchange:
319
312
  """ Start the interchange
320
313
  """
321
314
 
322
- # If a user workflow has set its own signal handler for sigterm, that
323
- # handler will be inherited by the interchange process because it is
324
- # launched as a multiprocessing fork process.
325
- # That can interfere with the interchange shutdown mechanism, which is
326
- # to receive a SIGTERM and exit immediately.
327
- # See Parsl issue #2343 (Threads and multiprocessing cannot be
328
- # intermingled without deadlocks) which talks about other fork-related
329
- # parent-process-inheritance problems.
330
- signal.signal(signal.SIGTERM, signal.SIG_DFL)
331
-
332
315
  logger.info("Starting main interchange method")
333
316
 
334
317
  if self.hub_address is not None and self.hub_zmq_port is not None:
@@ -549,7 +532,6 @@ class Interchange:
549
532
  monitoring_radio.send(r['payload'])
550
533
  elif r['type'] == 'heartbeat':
551
534
  logger.debug("Manager %r sent heartbeat via results connection", manager_id)
552
- b_messages.append((p_message, r))
553
535
  else:
554
536
  logger.error("Interchange discarding result_queue message of unknown type: %s", r["type"])
555
537
 
@@ -1,5 +1,7 @@
1
1
  import logging
2
- from typing import Dict, List, Set, Tuple
2
+ from typing import Dict, List, Tuple
3
+
4
+ from parsl.executors.errors import InvalidResourceSpecification
3
5
 
4
6
  logger = logging.getLogger(__name__)
5
7
 
@@ -8,27 +10,6 @@ VALID_LAUNCHERS = ('srun',
8
10
  'mpiexec')
9
11
 
10
12
 
11
- class MissingResourceSpecification(Exception):
12
- """Exception raised when input is not supplied a resource specification"""
13
-
14
- def __init__(self, reason: str):
15
- self.reason = reason
16
-
17
- def __str__(self):
18
- return f"Missing resource specification: {self.reason}"
19
-
20
-
21
- class InvalidResourceSpecification(Exception):
22
- """Exception raised when Invalid input is supplied via resource specification"""
23
-
24
- def __init__(self, invalid_keys: Set[str], message: str = ''):
25
- self.invalid_keys = invalid_keys
26
- self.message = message
27
-
28
- def __str__(self):
29
- return f"Invalid resource specification options supplied: {self.invalid_keys} {self.message}"
30
-
31
-
32
13
  def validate_resource_spec(resource_spec: Dict[str, str]):
33
14
  """Basic validation of keys in the resource_spec
34
15
 
@@ -40,7 +21,8 @@ def validate_resource_spec(resource_spec: Dict[str, str]):
40
21
  # empty resource_spec when mpi_mode is set causes parsl to hang
41
22
  # ref issue #3427
42
23
  if len(user_keys) == 0:
43
- raise MissingResourceSpecification('MPI mode requires optional parsl_resource_specification keyword argument to be configured')
24
+ raise InvalidResourceSpecification(user_keys,
25
+ 'MPI mode requires optional parsl_resource_specification keyword argument to be configured')
44
26
 
45
27
  legal_keys = set(("ranks_per_node",
46
28
  "num_nodes",
@@ -6,7 +6,7 @@ import typeguard
6
6
 
7
7
  from parsl.data_provider.staging import Staging
8
8
  from parsl.executors.base import ParslExecutor
9
- from parsl.executors.errors import UnsupportedFeatureError
9
+ from parsl.executors.errors import InvalidResourceSpecification
10
10
  from parsl.utils import RepresentationMixin
11
11
 
12
12
  logger = logging.getLogger(__name__)
@@ -54,7 +54,8 @@ class ThreadPoolExecutor(ParslExecutor, RepresentationMixin):
54
54
  if resource_specification:
55
55
  logger.error("Ignoring the resource specification. "
56
56
  "Parsl resource specification is not supported in ThreadPool Executor.")
57
- raise UnsupportedFeatureError('resource specification', 'ThreadPool Executor', None)
57
+ raise InvalidResourceSpecification(set(resource_specification.keys()),
58
+ "Parsl resource specification is not supported in ThreadPool Executor.")
58
59
 
59
60
  return self.executor.submit(func, *args, **kwargs)
60
61
 
@@ -28,7 +28,7 @@ import parsl.utils as putils
28
28
  from parsl.data_provider.files import File
29
29
  from parsl.data_provider.staging import Staging
30
30
  from parsl.errors import OptionalModuleMissing
31
- from parsl.executors.errors import ExecutorError
31
+ from parsl.executors.errors import ExecutorError, InvalidResourceSpecification
32
32
  from parsl.executors.status_handling import BlockProviderExecutor
33
33
  from parsl.executors.workqueue import exec_parsl_function
34
34
  from parsl.process_loggers import wrap_with_logs
@@ -419,7 +419,7 @@ class WorkQueueExecutor(BlockProviderExecutor, putils.RepresentationMixin):
419
419
  message = "Task resource specification only accepts these types of resources: {}".format(
420
420
  ', '.join(acceptable_fields))
421
421
  logger.error(message)
422
- raise ExecutorError(self, message)
422
+ raise InvalidResourceSpecification(keys, message)
423
423
 
424
424
  # this checks that either all of the required resource types are specified, or
425
425
  # that none of them are: the `required_resource_types` are not actually required,
@@ -430,9 +430,10 @@ class WorkQueueExecutor(BlockProviderExecutor, putils.RepresentationMixin):
430
430
  logger.error("Running with `autolabel=False`. In this mode, "
431
431
  "task resource specification requires "
432
432
  "three resources to be specified simultaneously: cores, memory, and disk")
433
- raise ExecutorError(self, "Task resource specification requires "
434
- "three resources to be specified simultaneously: cores, memory, and disk. "
435
- "Try setting autolabel=True if you are unsure of the resource usage")
433
+ raise InvalidResourceSpecification(keys,
434
+ "Task resource specification requires "
435
+ "three resources to be specified simultaneously: cores, memory, and disk. "
436
+ "Try setting autolabel=True if you are unsure of the resource usage")
436
437
 
437
438
  for k in keys:
438
439
  if k == 'cores':
@@ -58,7 +58,7 @@ def tmpd_cwd_session(pytestconfig):
58
58
 
59
59
  config = re.sub(r"[^A-z0-9_-]+", "_", pytestconfig.getoption('config')[0])
60
60
  cwd = pathlib.Path(os.getcwd())
61
- pytest_dir = cwd / ".pytest"
61
+ pytest_dir = cwd / "pytest-parsl"
62
62
  pytest_dir.mkdir(mode=0o700, parents=True, exist_ok=True)
63
63
 
64
64
  test_dir_prefix = "parsltest-"
@@ -1,11 +1,9 @@
1
1
  import parsl
2
2
  from parsl.app.app import python_app
3
3
  from parsl.executors import WorkQueueExecutor
4
- from parsl.executors.errors import ExecutorError, UnsupportedFeatureError
4
+ from parsl.executors.errors import InvalidResourceSpecification
5
5
  from parsl.executors.high_throughput.executor import HighThroughputExecutor
6
- from parsl.executors.high_throughput.mpi_prefix_composer import (
7
- InvalidResourceSpecification,
8
- )
6
+ from parsl.executors.threads import ThreadPoolExecutor
9
7
 
10
8
 
11
9
  @python_app
@@ -27,11 +25,10 @@ def test_resource(n=2):
27
25
  try:
28
26
  fut.result()
29
27
  except InvalidResourceSpecification:
30
- assert isinstance(executor, HighThroughputExecutor)
31
- except UnsupportedFeatureError:
32
- assert not isinstance(executor, WorkQueueExecutor)
33
- except Exception as e:
34
- assert isinstance(e, ExecutorError)
28
+ assert (
29
+ isinstance(executor, HighThroughputExecutor) or
30
+ isinstance(executor, WorkQueueExecutor) or
31
+ isinstance(executor, ThreadPoolExecutor))
35
32
 
36
33
  # Specify resources with wrong types
37
34
  # 'cpus' is incorrect, should be 'cores'
@@ -40,8 +37,7 @@ def test_resource(n=2):
40
37
  try:
41
38
  fut.result()
42
39
  except InvalidResourceSpecification:
43
- assert isinstance(executor, HighThroughputExecutor)
44
- except UnsupportedFeatureError:
45
- assert not isinstance(executor, WorkQueueExecutor)
46
- except Exception as e:
47
- assert isinstance(e, ExecutorError)
40
+ assert (
41
+ isinstance(executor, HighThroughputExecutor) or
42
+ isinstance(executor, WorkQueueExecutor) or
43
+ isinstance(executor, ThreadPoolExecutor))
@@ -4,9 +4,7 @@ from unittest import mock
4
4
  import pytest
5
5
 
6
6
  from parsl.executors import HighThroughputExecutor
7
- from parsl.executors.high_throughput.mpi_prefix_composer import (
8
- InvalidResourceSpecification,
9
- )
7
+ from parsl.executors.errors import InvalidResourceSpecification
10
8
 
11
9
 
12
10
  def double(x):
@@ -8,9 +8,7 @@ import pytest
8
8
  import parsl
9
9
  from parsl import Config, bash_app, python_app
10
10
  from parsl.executors import MPIExecutor
11
- from parsl.executors.high_throughput.mpi_prefix_composer import (
12
- MissingResourceSpecification,
13
- )
11
+ from parsl.executors.errors import InvalidResourceSpecification
14
12
  from parsl.launchers import SimpleLauncher
15
13
  from parsl.providers import LocalProvider
16
14
 
@@ -185,6 +183,6 @@ def test_simulated_load(rounds: int = 100):
185
183
  @pytest.mark.local
186
184
  def test_missing_resource_spec():
187
185
 
188
- with pytest.raises(MissingResourceSpecification):
186
+ with pytest.raises(InvalidResourceSpecification):
189
187
  future = mock_app(sleep_dur=0.4)
190
188
  future.result(timeout=10)
@@ -10,12 +10,9 @@ from unittest import mock
10
10
  import pytest
11
11
 
12
12
  from parsl.app.app import python_app
13
+ from parsl.executors.errors import InvalidResourceSpecification
13
14
  from parsl.executors.high_throughput.executor import HighThroughputExecutor
14
15
  from parsl.executors.high_throughput.mpi_executor import MPIExecutor
15
- from parsl.executors.high_throughput.mpi_prefix_composer import (
16
- InvalidResourceSpecification,
17
- MissingResourceSpecification,
18
- )
19
16
  from parsl.executors.high_throughput.mpi_resource_management import (
20
17
  get_nodes_in_batchjob,
21
18
  get_pbs_hosts_list,
@@ -105,7 +102,7 @@ def test_top_level():
105
102
  ({"num_nodes": 2, "ranks_per_node": 1}, None),
106
103
  ({"launcher_options": "--debug_foo"}, None),
107
104
  ({"num_nodes": 2, "BAD_OPT": 1}, InvalidResourceSpecification),
108
- ({}, MissingResourceSpecification),
105
+ ({}, InvalidResourceSpecification),
109
106
  )
110
107
  )
111
108
  def test_mpi_resource_spec(resource_spec: Dict, exception):
@@ -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.10.07'
6
+ VERSION = '2024.10.14'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsl
3
- Version: 2024.10.7
3
+ Version: 2024.10.14
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.10.07.tar.gz
6
+ Download-URL: https://github.com/Parsl/parsl/archive/2024.10.14.tar.gz
7
7
  Author: The Parsl Team
8
8
  Author-email: parsl@googlegroups.com
9
9
  License: Apache 2.0
@@ -11,12 +11,11 @@ Keywords: Workflows,Scientific computing
11
11
  Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: Apache Software License
14
- Classifier: Programming Language :: Python :: 3.8
15
14
  Classifier: Programming Language :: Python :: 3.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
19
- Requires-Python: >=3.8.0
18
+ Requires-Python: >=3.9.0
20
19
  Provides-Extra: monitoring
21
20
  Provides-Extra: visualization
22
21
  Provides-Extra: aws
@@ -54,7 +54,7 @@ setup(
54
54
  include_package_data=True,
55
55
  package_data={'parsl': ['py.typed']},
56
56
  packages=find_packages(),
57
- python_requires=">=3.8.0",
57
+ python_requires=">=3.9.0",
58
58
  install_requires=install_requires,
59
59
  scripts = ['parsl/executors/high_throughput/process_worker_pool.py',
60
60
  'parsl/executors/high_throughput/interchange.py',
@@ -71,7 +71,6 @@ setup(
71
71
  # Licence, must match with licence above
72
72
  'License :: OSI Approved :: Apache Software License',
73
73
  # Python versions supported
74
- 'Programming Language :: Python :: 3.8',
75
74
  'Programming Language :: Python :: 3.9',
76
75
  'Programming Language :: Python :: 3.10',
77
76
  'Programming Language :: Python :: 3.11',
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