parsl 2024.1.8__tar.gz → 2024.1.15__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 (431) hide show
  1. {parsl-2024.1.8/parsl.egg-info → parsl-2024.1.15}/PKG-INFO +2 -2
  2. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/dataflow/dflow.py +3 -1
  3. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/high_throughput/executor.py +19 -16
  4. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/workqueue/executor.py +1 -1
  5. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/jobs/job_status_poller.py +7 -6
  6. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/errors.py +14 -7
  7. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/conftest.py +4 -0
  8. parsl-2024.1.15/parsl/tests/test_providers/test_submiterror_deprecation.py +21 -0
  9. parsl-2024.1.15/parsl/tests/test_utils/test_representation_mixin.py +68 -0
  10. parsl-2024.1.15/parsl/usage_tracking/__init__.py +0 -0
  11. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/utils.py +14 -9
  12. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/version.py +1 -1
  13. {parsl-2024.1.8 → parsl-2024.1.15/parsl.egg-info}/PKG-INFO +2 -2
  14. {parsl-2024.1.8 → parsl-2024.1.15}/parsl.egg-info/SOURCES.txt +3 -0
  15. {parsl-2024.1.8 → parsl-2024.1.15}/LICENSE +0 -0
  16. {parsl-2024.1.8 → parsl-2024.1.15}/MANIFEST.in +0 -0
  17. {parsl-2024.1.8 → parsl-2024.1.15}/README.rst +0 -0
  18. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/__init__.py +0 -0
  19. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/addresses.py +0 -0
  20. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/app/__init__.py +0 -0
  21. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/app/app.py +0 -0
  22. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/app/bash.py +0 -0
  23. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/app/errors.py +0 -0
  24. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/app/futures.py +0 -0
  25. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/app/python.py +0 -0
  26. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/benchmark/__init__.py +0 -0
  27. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/benchmark/perf.py +0 -0
  28. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/__init__.py +0 -0
  29. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/base.py +0 -0
  30. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/errors.py +0 -0
  31. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/local/__init__.py +0 -0
  32. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/local/local.py +0 -0
  33. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/oauth_ssh/__init__.py +0 -0
  34. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/oauth_ssh/oauth_ssh.py +0 -0
  35. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/ssh/__init__.py +0 -0
  36. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/ssh/ssh.py +0 -0
  37. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/ssh_il/__init__.py +0 -0
  38. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/channels/ssh_il/ssh_il.py +0 -0
  39. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/concurrent/__init__.py +0 -0
  40. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/config.py +0 -0
  41. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/ASPIRE1.py +0 -0
  42. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/Azure.py +0 -0
  43. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/__init__.py +0 -0
  44. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/ad_hoc.py +0 -0
  45. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/bluewaters.py +0 -0
  46. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/bridges.py +0 -0
  47. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/cc_in2p3.py +0 -0
  48. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/comet.py +0 -0
  49. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/cooley.py +0 -0
  50. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/ec2.py +0 -0
  51. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/frontera.py +0 -0
  52. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/htex_local.py +0 -0
  53. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/illinoiscluster.py +0 -0
  54. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/kubernetes.py +0 -0
  55. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/local_threads.py +0 -0
  56. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/midway.py +0 -0
  57. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/osg.py +0 -0
  58. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/polaris.py +0 -0
  59. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/stampede2.py +0 -0
  60. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/summit.py +0 -0
  61. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/theta.py +0 -0
  62. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/toss3_llnl.py +0 -0
  63. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/vineex_local.py +0 -0
  64. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/configs/wqex_local.py +0 -0
  65. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/data_provider/__init__.py +0 -0
  66. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/data_provider/data_manager.py +0 -0
  67. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/data_provider/file_noop.py +0 -0
  68. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/data_provider/files.py +0 -0
  69. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/data_provider/ftp.py +0 -0
  70. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/data_provider/globus.py +0 -0
  71. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/data_provider/http.py +0 -0
  72. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/data_provider/rsync.py +0 -0
  73. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/data_provider/staging.py +0 -0
  74. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/dataflow/__init__.py +0 -0
  75. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/dataflow/errors.py +0 -0
  76. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/dataflow/futures.py +0 -0
  77. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/dataflow/memoization.py +0 -0
  78. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/dataflow/rundirs.py +0 -0
  79. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/dataflow/states.py +0 -0
  80. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/dataflow/taskrecord.py +0 -0
  81. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/errors.py +0 -0
  82. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/__init__.py +0 -0
  83. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/base.py +0 -0
  84. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/errors.py +0 -0
  85. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/flux/__init__.py +0 -0
  86. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/flux/execute_parsl_task.py +0 -0
  87. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/flux/executor.py +0 -0
  88. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/flux/flux_instance_manager.py +0 -0
  89. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/high_throughput/__init__.py +0 -0
  90. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/high_throughput/errors.py +0 -0
  91. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/high_throughput/interchange.py +0 -0
  92. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/high_throughput/manager_record.py +0 -0
  93. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/high_throughput/monitoring_info.py +0 -0
  94. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/high_throughput/probe.py +0 -0
  95. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/high_throughput/process_worker_pool.py +0 -0
  96. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/high_throughput/zmq_pipes.py +0 -0
  97. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/radical/__init__.py +0 -0
  98. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/radical/executor.py +0 -0
  99. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/radical/rpex_master.py +0 -0
  100. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/radical/rpex_resources.py +0 -0
  101. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/radical/rpex_worker.py +0 -0
  102. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/status_handling.py +0 -0
  103. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/taskvine/__init__.py +0 -0
  104. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/taskvine/errors.py +0 -0
  105. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/taskvine/exec_parsl_function.py +0 -0
  106. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/taskvine/executor.py +0 -0
  107. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/taskvine/factory.py +0 -0
  108. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/taskvine/factory_config.py +0 -0
  109. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/taskvine/manager.py +0 -0
  110. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/taskvine/manager_config.py +0 -0
  111. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/taskvine/utils.py +0 -0
  112. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/threads.py +0 -0
  113. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/workqueue/__init__.py +0 -0
  114. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/workqueue/errors.py +0 -0
  115. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/workqueue/exec_parsl_function.py +0 -0
  116. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/workqueue/parsl_coprocess.py +0 -0
  117. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/executors/workqueue/parsl_coprocess_stub.py +0 -0
  118. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/jobs/__init__.py +0 -0
  119. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/jobs/error_handlers.py +0 -0
  120. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/jobs/errors.py +0 -0
  121. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/jobs/states.py +0 -0
  122. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/jobs/strategy.py +0 -0
  123. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/launchers/__init__.py +0 -0
  124. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/launchers/base.py +0 -0
  125. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/launchers/errors.py +0 -0
  126. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/launchers/launchers.py +0 -0
  127. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/log_utils.py +0 -0
  128. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/__init__.py +0 -0
  129. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/db_manager.py +0 -0
  130. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/message_type.py +0 -0
  131. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/monitoring.py +0 -0
  132. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/queries/__init__.py +0 -0
  133. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/queries/pandas.py +0 -0
  134. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/radios.py +0 -0
  135. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/remote.py +0 -0
  136. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/types.py +0 -0
  137. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/__init__.py +0 -0
  138. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/app.py +0 -0
  139. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/models.py +0 -0
  140. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/plots/__init__.py +0 -0
  141. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/plots/default/__init__.py +0 -0
  142. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/plots/default/task_plots.py +0 -0
  143. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/plots/default/workflow_plots.py +0 -0
  144. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/plots/default/workflow_resource_plots.py +0 -0
  145. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/static/parsl-logo-white.png +0 -0
  146. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/static/parsl-monitor.css +0 -0
  147. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/templates/app.html +0 -0
  148. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/templates/dag.html +0 -0
  149. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/templates/error.html +0 -0
  150. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/templates/layout.html +0 -0
  151. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/templates/resource_usage.html +0 -0
  152. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/templates/task.html +0 -0
  153. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/templates/workflow.html +0 -0
  154. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/templates/workflows_summary.html +0 -0
  155. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/utils.py +0 -0
  156. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/version.py +0 -0
  157. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/monitoring/visualization/views.py +0 -0
  158. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/multiprocessing.py +0 -0
  159. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/process_loggers.py +0 -0
  160. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/__init__.py +0 -0
  161. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/ad_hoc/__init__.py +0 -0
  162. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/ad_hoc/ad_hoc.py +0 -0
  163. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/aws/__init__.py +0 -0
  164. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/aws/aws.py +0 -0
  165. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/aws/template.py +0 -0
  166. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/azure/__init__.py +0 -0
  167. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/azure/azure.py +0 -0
  168. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/azure/template.py +0 -0
  169. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/base.py +0 -0
  170. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/cluster_provider.py +0 -0
  171. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/cobalt/__init__.py +0 -0
  172. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/cobalt/cobalt.py +0 -0
  173. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/cobalt/template.py +0 -0
  174. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/condor/__init__.py +0 -0
  175. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/condor/condor.py +0 -0
  176. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/condor/template.py +0 -0
  177. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/googlecloud/__init__.py +0 -0
  178. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/googlecloud/googlecloud.py +0 -0
  179. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/grid_engine/__init__.py +0 -0
  180. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/grid_engine/grid_engine.py +0 -0
  181. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/grid_engine/template.py +0 -0
  182. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/kubernetes/__init__.py +0 -0
  183. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/kubernetes/kube.py +0 -0
  184. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/kubernetes/template.py +0 -0
  185. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/local/__init__.py +0 -0
  186. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/local/local.py +0 -0
  187. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/lsf/__init__.py +0 -0
  188. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/lsf/lsf.py +0 -0
  189. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/lsf/template.py +0 -0
  190. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/pbspro/__init__.py +0 -0
  191. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/pbspro/pbspro.py +0 -0
  192. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/pbspro/template.py +0 -0
  193. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/slurm/__init__.py +0 -0
  194. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/slurm/slurm.py +0 -0
  195. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/slurm/template.py +0 -0
  196. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/torque/__init__.py +0 -0
  197. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/torque/template.py +0 -0
  198. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/providers/torque/torque.py +0 -0
  199. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/py.typed +0 -0
  200. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/serialize/__init__.py +0 -0
  201. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/serialize/base.py +0 -0
  202. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/serialize/concretes.py +0 -0
  203. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/serialize/errors.py +0 -0
  204. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/serialize/facade.py +0 -0
  205. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/serialize/proxystore.py +0 -0
  206. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/__init__.py +0 -0
  207. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/callables_helper.py +0 -0
  208. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/__init__.py +0 -0
  209. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/ad_hoc_cluster_htex.py +0 -0
  210. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/azure_single_node.py +0 -0
  211. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/bluewaters.py +0 -0
  212. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/bridges.py +0 -0
  213. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/cc_in2p3.py +0 -0
  214. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/comet.py +0 -0
  215. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/cooley_htex.py +0 -0
  216. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/ec2_single_node.py +0 -0
  217. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/ec2_spot.py +0 -0
  218. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/frontera.py +0 -0
  219. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/htex_ad_hoc_cluster.py +0 -0
  220. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/htex_local.py +0 -0
  221. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/htex_local_alternate.py +0 -0
  222. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/htex_local_intask_staging.py +0 -0
  223. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/htex_local_rsync_staging.py +0 -0
  224. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_adhoc.py +0 -0
  225. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_radical.py +0 -0
  226. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_radical_mpi.py +0 -0
  227. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_threads.py +0 -0
  228. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_threads_checkpoint.py +0 -0
  229. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_threads_checkpoint_dfk_exit.py +0 -0
  230. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_threads_checkpoint_periodic.py +0 -0
  231. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_threads_checkpoint_task_exit.py +0 -0
  232. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_threads_ftp_in_task.py +0 -0
  233. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_threads_globus.py +0 -0
  234. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_threads_http_in_task.py +0 -0
  235. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_threads_monitoring.py +0 -0
  236. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/local_threads_no_cache.py +0 -0
  237. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/midway.py +0 -0
  238. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/nscc_singapore.py +0 -0
  239. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/osg_htex.py +0 -0
  240. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/petrelkube.py +0 -0
  241. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/summit.py +0 -0
  242. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/swan_htex.py +0 -0
  243. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/taskvine_ex.py +0 -0
  244. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/theta.py +0 -0
  245. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/user_opts.py +0 -0
  246. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/configs/workqueue_ex.py +0 -0
  247. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/__init__.py +0 -0
  248. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/latency.py +0 -0
  249. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_apps/__init__.py +0 -0
  250. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_channels/__init__.py +0 -0
  251. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_channels/test_channels.py +0 -0
  252. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_channels/test_local_channel.py +0 -0
  253. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_channels/test_scp_1.py +0 -0
  254. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_channels/test_ssh_1.py +0 -0
  255. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_channels/test_ssh_errors.py +0 -0
  256. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_channels/test_ssh_file_transport.py +0 -0
  257. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_channels/test_ssh_interactive.py +0 -0
  258. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_parsl_load_default_config.py +0 -0
  259. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_stress/__init__.py +0 -0
  260. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_stress/test_python_simple.py +0 -0
  261. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/integration/test_stress/test_python_threads.py +0 -0
  262. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/__init__.py +0 -0
  263. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/htex_local.py +0 -0
  264. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/test_ad_hoc_htex.py +0 -0
  265. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/test_basic.py +0 -0
  266. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/test_fan_in_out_htex_remote.py +0 -0
  267. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/test_log_filter.py +0 -0
  268. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/test_memory_limits.py +0 -0
  269. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/test_oauth_ssh.py +0 -0
  270. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/test_regression_220.py +0 -0
  271. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/test_udp_simple.py +0 -0
  272. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/manual_tests/test_worker_count.py +0 -0
  273. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/scaling_tests/__init__.py +0 -0
  274. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/scaling_tests/htex_local.py +0 -0
  275. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/scaling_tests/local_threads.py +0 -0
  276. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/scaling_tests/test_scale.py +0 -0
  277. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/scaling_tests/vineex_condor.py +0 -0
  278. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/scaling_tests/vineex_local.py +0 -0
  279. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/scaling_tests/wqex_condor.py +0 -0
  280. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/scaling_tests/wqex_local.py +0 -0
  281. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/site_tests/__init__.py +0 -0
  282. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/site_tests/site_config_selector.py +0 -0
  283. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/site_tests/test_provider.py +0 -0
  284. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/site_tests/test_site.py +0 -0
  285. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/sites/__init__.py +0 -0
  286. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/sites/test_affinity.py +0 -0
  287. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/sites/test_concurrent.py +0 -0
  288. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/sites/test_dynamic_executor.py +0 -0
  289. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/sites/test_ec2.py +0 -0
  290. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/sites/test_launchers.py +0 -0
  291. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/sites/test_local_adhoc.py +0 -0
  292. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/sites/test_mpi/__init__.py +0 -0
  293. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/sites/test_worker_info.py +0 -0
  294. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_aalst_patterns.py +0 -0
  295. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/__init__.py +0 -0
  296. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_apptimeout.py +0 -0
  297. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_basic.py +0 -0
  298. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_error_codes.py +0 -0
  299. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_keyword_overlaps.py +0 -0
  300. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_kwarg_storage.py +0 -0
  301. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_memoize.py +0 -0
  302. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_memoize_ignore_args.py +0 -0
  303. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py +0 -0
  304. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_multiline.py +0 -0
  305. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_pipeline.py +0 -0
  306. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_bash_apps/test_stdout.py +0 -0
  307. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_callables.py +0 -0
  308. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_channels/__init__.py +0 -0
  309. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_channels/test_large_output.py +0 -0
  310. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_checkpointing/__init__.py +0 -0
  311. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_checkpointing/test_periodic.py +0 -0
  312. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_checkpointing/test_python_checkpoint_1.py +0 -0
  313. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_checkpointing/test_python_checkpoint_2.py +0 -0
  314. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_checkpointing/test_python_checkpoint_3.py +0 -0
  315. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_checkpointing/test_regression_232.py +0 -0
  316. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_checkpointing/test_regression_233.py +0 -0
  317. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_checkpointing/test_regression_239.py +0 -0
  318. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_checkpointing/test_task_exit.py +0 -0
  319. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_data/__init__.py +0 -0
  320. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_data/test_file.py +0 -0
  321. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_data/test_file_apps.py +0 -0
  322. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_data/test_file_staging.py +0 -0
  323. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_data/test_output_chain_filenames.py +0 -0
  324. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_docs/__init__.py +0 -0
  325. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_docs/test_from_slides.py +0 -0
  326. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_docs/test_kwargs.py +0 -0
  327. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_docs/test_tutorial_1.py +0 -0
  328. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_docs/test_workflow1.py +0 -0
  329. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_docs/test_workflow2.py +0 -0
  330. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_docs/test_workflow4.py +0 -0
  331. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/__init__.py +0 -0
  332. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_fail.py +0 -0
  333. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_htex_basic.py +0 -0
  334. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_htex_manager_failure.py +0 -0
  335. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_htex_missing_worker.py +0 -0
  336. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_htex_worker_failure.py +0 -0
  337. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_python_walltime.py +0 -0
  338. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_rand_fail.py +0 -0
  339. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_resource_spec.py +0 -0
  340. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_retries.py +0 -0
  341. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_retry_handler.py +0 -0
  342. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_retry_handler_failure.py +0 -0
  343. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_serialization_fail.py +0 -0
  344. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_error_handling/test_wrap_with_logs.py +0 -0
  345. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_flowcontrol/__init__.py +0 -0
  346. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_flux.py +0 -0
  347. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_htex/__init__.py +0 -0
  348. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_htex/test_htex_zmq_binding.py +0 -0
  349. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_monitoring/__init__.py +0 -0
  350. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_monitoring/test_basic.py +0 -0
  351. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_monitoring/test_db_locks.py +0 -0
  352. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_monitoring/test_fuzz_zmq.py +0 -0
  353. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_monitoring/test_memoization_representation.py +0 -0
  354. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_monitoring/test_viz_colouring.py +0 -0
  355. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_providers/__init__.py +0 -0
  356. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_providers/test_local_provider.py +0 -0
  357. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_providers/test_slurm_instantiate.py +0 -0
  358. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/__init__.py +0 -0
  359. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_arg_input_types.py +0 -0
  360. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_basic.py +0 -0
  361. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_dep_standard_futures.py +0 -0
  362. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_dependencies.py +0 -0
  363. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_depfail_propagation.py +0 -0
  364. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_fail.py +0 -0
  365. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_fibonacci_iterative.py +0 -0
  366. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_fibonacci_recursive.py +0 -0
  367. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_futures.py +0 -0
  368. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_garbage_collect.py +0 -0
  369. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_import_fail.py +0 -0
  370. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_join.py +0 -0
  371. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_lifted.py +0 -0
  372. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_mapred.py +0 -0
  373. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_memoize_1.py +0 -0
  374. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_memoize_2.py +0 -0
  375. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_memoize_4.py +0 -0
  376. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_memoize_bad_id_for_memo.py +0 -0
  377. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_memoize_ignore_args.py +0 -0
  378. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_memoize_joinapp.py +0 -0
  379. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_outputs.py +0 -0
  380. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_overview.py +0 -0
  381. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_pipeline.py +0 -0
  382. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_simple.py +0 -0
  383. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_timeout.py +0 -0
  384. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_python_apps/test_type5.py +0 -0
  385. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_radical/__init__.py +0 -0
  386. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_radical/test_mpi_funcs.py +0 -0
  387. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/__init__.py +0 -0
  388. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/test_1480.py +0 -0
  389. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/test_1606_wait_for_current_tasks.py +0 -0
  390. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/test_1653.py +0 -0
  391. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/test_221.py +0 -0
  392. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/test_226.py +0 -0
  393. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/test_2652.py +0 -0
  394. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/test_69a.py +0 -0
  395. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/test_854.py +0 -0
  396. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/test_97_parallelism_0.py +0 -0
  397. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_regression/test_98.py +0 -0
  398. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_scaling/__init__.py +0 -0
  399. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_scaling/test_block_error_handler.py +0 -0
  400. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_scaling/test_regression_1621.py +0 -0
  401. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_scaling/test_scale_down.py +0 -0
  402. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_serialization/__init__.py +0 -0
  403. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_serialization/test_2555_caching_deserializer.py +0 -0
  404. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_serialization/test_basic.py +0 -0
  405. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_serialization/test_proxystore_configured.py +0 -0
  406. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_serialization/test_proxystore_impl.py +0 -0
  407. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_staging/__init__.py +0 -0
  408. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_staging/staging_provider.py +0 -0
  409. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_staging/test_1316.py +0 -0
  410. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_staging/test_docs_1.py +0 -0
  411. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_staging/test_docs_2.py +0 -0
  412. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_staging/test_elaborate_noop_file.py +0 -0
  413. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_staging/test_staging_ftp.py +0 -0
  414. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_staging/test_staging_ftp_in_task.py +0 -0
  415. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_staging/test_staging_globus.py +0 -0
  416. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_staging/test_staging_https.py +0 -0
  417. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_summary.py +0 -0
  418. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_thread_parallelism.py +0 -0
  419. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_threads/__init__.py +0 -0
  420. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_threads/test_configs.py +0 -0
  421. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/test_threads/test_lazy_errors.py +0 -0
  422. {parsl-2024.1.8/parsl/usage_tracking → parsl-2024.1.15/parsl/tests/test_utils}/__init__.py +0 -0
  423. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/tests/utils.py +0 -0
  424. {parsl-2024.1.8 → parsl-2024.1.15}/parsl/usage_tracking/usage.py +0 -0
  425. {parsl-2024.1.8 → parsl-2024.1.15}/parsl.egg-info/dependency_links.txt +0 -0
  426. {parsl-2024.1.8 → parsl-2024.1.15}/parsl.egg-info/entry_points.txt +0 -0
  427. {parsl-2024.1.8 → parsl-2024.1.15}/parsl.egg-info/requires.txt +0 -0
  428. {parsl-2024.1.8 → parsl-2024.1.15}/parsl.egg-info/top_level.txt +0 -0
  429. {parsl-2024.1.8 → parsl-2024.1.15}/requirements.txt +0 -0
  430. {parsl-2024.1.8 → parsl-2024.1.15}/setup.cfg +0 -0
  431. {parsl-2024.1.8 → parsl-2024.1.15}/setup.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsl
3
- Version: 2024.1.8
3
+ Version: 2024.1.15
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.01.08.tar.gz
6
+ Download-URL: https://github.com/Parsl/parsl/archive/2024.01.15.tar.gz
7
7
  Author: The Parsl Team
8
8
  Author-email: parsl@googlegroups.com
9
9
  License: Apache 2.0
@@ -177,7 +177,9 @@ class DataFlowKernel:
177
177
 
178
178
  # this must be set before executors are added since add_executors calls
179
179
  # job_status_poller.add_executors.
180
- self.job_status_poller = JobStatusPoller(self)
180
+ self.job_status_poller = JobStatusPoller(strategy=self.config.strategy,
181
+ max_idletime=self.config.max_idletime,
182
+ dfk=self)
181
183
 
182
184
  self.executors: Dict[str, ParslExecutor] = {}
183
185
 
@@ -205,7 +205,6 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin):
205
205
 
206
206
  BlockProviderExecutor.__init__(self, provider=provider, block_error_handler=block_error_handler)
207
207
  self.label = label
208
- self.launch_cmd = launch_cmd
209
208
  self.worker_debug = worker_debug
210
209
  self.storage_access = storage_access
211
210
  self.working_dir = working_dir
@@ -259,21 +258,25 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin):
259
258
  self.cpu_affinity = cpu_affinity
260
259
 
261
260
  if not launch_cmd:
262
- self.launch_cmd = ("process_worker_pool.py {debug} {max_workers} "
263
- "-a {addresses} "
264
- "-p {prefetch_capacity} "
265
- "-c {cores_per_worker} "
266
- "-m {mem_per_worker} "
267
- "--poll {poll_period} "
268
- "--task_port={task_port} "
269
- "--result_port={result_port} "
270
- "--logdir={logdir} "
271
- "--block_id={{block_id}} "
272
- "--hb_period={heartbeat_period} "
273
- "{address_probe_timeout_string} "
274
- "--hb_threshold={heartbeat_threshold} "
275
- "--cpu-affinity {cpu_affinity} "
276
- "--available-accelerators {accelerators}")
261
+ launch_cmd = (
262
+ "process_worker_pool.py {debug} {max_workers} "
263
+ "-a {addresses} "
264
+ "-p {prefetch_capacity} "
265
+ "-c {cores_per_worker} "
266
+ "-m {mem_per_worker} "
267
+ "--poll {poll_period} "
268
+ "--task_port={task_port} "
269
+ "--result_port={result_port} "
270
+ "--logdir={logdir} "
271
+ "--block_id={{block_id}} "
272
+ "--hb_period={heartbeat_period} "
273
+ "{address_probe_timeout_string} "
274
+ "--hb_threshold={heartbeat_threshold} "
275
+ "--cpu-affinity {cpu_affinity} "
276
+ "--available-accelerators {accelerators}"
277
+ )
278
+
279
+ self.launch_cmd = launch_cmd
277
280
 
278
281
  radio_mode = "htex"
279
282
 
@@ -849,7 +849,7 @@ def _work_queue_submit_wait(*,
849
849
  break
850
850
 
851
851
  # Submit tasks
852
- while task_queue.qsize() > 0 and not should_stop.value:
852
+ while task_queue.qsize() > 0 or q.empty() and not should_stop.value:
853
853
  # Obtain task from task_queue
854
854
  try:
855
855
  task = task_queue.get(timeout=1)
@@ -2,7 +2,7 @@ import logging
2
2
  import parsl
3
3
  import time
4
4
  import zmq
5
- from typing import Dict, List, Sequence
5
+ from typing import Dict, List, Sequence, Optional
6
6
 
7
7
  from parsl.jobs.states import JobStatus, JobState
8
8
  from parsl.jobs.strategy import Strategy
@@ -17,7 +17,7 @@ logger = logging.getLogger(__name__)
17
17
 
18
18
 
19
19
  class PollItem:
20
- def __init__(self, executor: BlockProviderExecutor, dfk: "parsl.dataflow.dflow.DataFlowKernel"):
20
+ def __init__(self, executor: BlockProviderExecutor, dfk: Optional["parsl.dataflow.dflow.DataFlowKernel"] = None):
21
21
  self._executor = executor
22
22
  self._dfk = dfk
23
23
  self._interval = executor.status_polling_interval
@@ -26,7 +26,7 @@ class PollItem:
26
26
 
27
27
  # Create a ZMQ channel to send poll status to monitoring
28
28
  self.monitoring_enabled = False
29
- if self._dfk.monitoring is not None:
29
+ if self._dfk and self._dfk.monitoring is not None:
30
30
  self.monitoring_enabled = True
31
31
  hub_address = self._dfk.hub_address
32
32
  hub_port = self._dfk.hub_interchange_port
@@ -100,11 +100,12 @@ class PollItem:
100
100
 
101
101
 
102
102
  class JobStatusPoller(Timer):
103
- def __init__(self, dfk: "parsl.dataflow.dflow.DataFlowKernel") -> None:
103
+ def __init__(self, strategy: Optional[str] = None, max_idletime: float = 0.0,
104
+ dfk: Optional["parsl.dataflow.dflow.DataFlowKernel"] = None) -> None:
104
105
  self._poll_items = [] # type: List[PollItem]
105
106
  self.dfk = dfk
106
- self._strategy = Strategy(strategy=dfk.config.strategy,
107
- max_idletime=dfk.config.max_idletime)
107
+ self._strategy = Strategy(strategy=strategy,
108
+ max_idletime=max_idletime)
108
109
  super().__init__(self.poll, interval=5, name="JobStatusPoller")
109
110
 
110
111
  def poll(self) -> None:
@@ -1,5 +1,7 @@
1
1
  from parsl.errors import ParslError
2
2
 
3
+ import warnings
4
+
3
5
 
4
6
  class ExecutionProviderException(ParslError):
5
7
  """ Base class for all exceptions
@@ -46,18 +48,23 @@ class ScriptPathError(ExecutionProviderException):
46
48
 
47
49
 
48
50
  class SubmitException(ExecutionProviderException):
49
- '''Raised by the submit() method of a provider if there is an error in launching a task.
51
+ '''Raised by the submit() method of a provider if there is an error in launching a job.
50
52
  '''
51
53
 
52
- def __init__(self, task_name, message, stdout=None, stderr=None):
53
- self.task_name = task_name
54
+ def __init__(self, job_name, message, stdout=None, stderr=None):
55
+ self.job_name = job_name
54
56
  self.message = message
55
57
  self.stdout = stdout
56
58
  self.stderr = stderr
57
59
 
60
+ @property
61
+ def task_name(self) -> str:
62
+ warnings.warn("task_name is deprecated; use .job_name instead. This will be removed after 2024-06.", DeprecationWarning)
63
+ return self.job_name
64
+
58
65
  def __str__(self):
59
66
  # TODO: make this more user-friendly
60
- return "Cannot launch task {0}: {1}; stdout={2}, stderr={3}".format(self.task_name,
61
- self.message,
62
- self.stdout,
63
- self.stderr)
67
+ return "Cannot launch job {0}: {1}; stdout={2}, stderr={3}".format(self.job_name,
68
+ self.message,
69
+ self.stdout,
70
+ self.stderr)
@@ -22,6 +22,7 @@ import _pytest.runner as runner
22
22
 
23
23
  import parsl
24
24
  from parsl.dataflow.dflow import DataFlowKernelLoader
25
+ from parsl.utils import RepresentationMixin
25
26
 
26
27
  logger = logging.getLogger(__name__)
27
28
 
@@ -157,6 +158,8 @@ def load_dfk_session(request, pytestconfig, tmpd_cwd_session):
157
158
  load_dfk_local_module for module-level configuration management.
158
159
  """
159
160
 
161
+ RepresentationMixin._validate_repr = True
162
+
160
163
  config = pytestconfig.getoption('config')[0]
161
164
 
162
165
  if config != 'local':
@@ -203,6 +206,7 @@ def load_dfk_local_module(request, pytestconfig, tmpd_cwd_session):
203
206
  be used to perform more interesting DFK initialisation not possible with
204
207
  local_config.
205
208
  """
209
+ RepresentationMixin._validate_repr = True
206
210
 
207
211
  config = pytestconfig.getoption('config')[0]
208
212
 
@@ -0,0 +1,21 @@
1
+ import pytest
2
+ import random
3
+ import string
4
+
5
+ from parsl.providers.errors import SubmitException
6
+
7
+
8
+ @pytest.mark.local
9
+ def test_submit_exception_task_name_deprecation():
10
+ """This tests the deprecation warning of task_name in SubmitException
11
+ """
12
+ j = "the_name-" + "".join(random.sample(string.ascii_lowercase, 10))
13
+
14
+ ex = SubmitException(j, "m")
15
+
16
+ # the new behaviour
17
+ assert ex.job_name == j
18
+
19
+ # the old behaviour
20
+ with pytest.deprecated_call():
21
+ assert ex.task_name == j
@@ -0,0 +1,68 @@
1
+ import pytest
2
+
3
+ from parsl.utils import RepresentationMixin
4
+
5
+
6
+ class GoodRepr(RepresentationMixin):
7
+ def __init__(self, x, y):
8
+ self.x = x
9
+ self.y = y
10
+
11
+
12
+ class BadRepr(RepresentationMixin):
13
+ """This class incorrectly subclasses RepresentationMixin.
14
+ It does not store the parameter x on self.
15
+ """
16
+ def __init__(self, x, y):
17
+ self.y = y
18
+
19
+
20
+ @pytest.mark.local
21
+ def test_repr_good():
22
+ p1 = "parameter 1"
23
+ p2 = "the second parameter"
24
+
25
+ # repr should not raise an exception
26
+ r = repr(GoodRepr(p1, p2))
27
+
28
+ # representation should contain both values supplied
29
+ # at object creation.
30
+ assert p1 in r
31
+ assert p2 in r
32
+
33
+
34
+ @pytest.mark.local
35
+ def test_repr_bad():
36
+ p1 = "parameter 1"
37
+ p2 = "the second parameter"
38
+
39
+ # repr should raise an exception
40
+ with pytest.raises(AttributeError):
41
+ repr(BadRepr(p1, p2))
42
+
43
+
44
+ class NonValidatingRepresentationMixin(RepresentationMixin):
45
+ """This will override the process level RepresentationMixin which can
46
+ be set to validating mode by pytest fixtures"""
47
+ _validate_repr = False
48
+
49
+
50
+ class BadReprNonValidating(NonValidatingRepresentationMixin):
51
+ """This class incorrectly subclasses RepresentationMixin.
52
+ It does not store the parameter x on self.
53
+ """
54
+ def __init__(self, x, y):
55
+ self.y = y
56
+
57
+
58
+ @pytest.mark.local
59
+ def test_repr_bad_unvalidated():
60
+ p1 = "parameter 1"
61
+ p2 = "the second parameter"
62
+
63
+ # repr should not raise an exception
64
+ r = repr(BadReprNonValidating(p1, p2))
65
+ # parameter 2 should be found in the representation, but not
66
+ # parameter 1
67
+ assert p1 not in r
68
+ assert p2 in r
File without changes
@@ -191,6 +191,8 @@ class RepresentationMixin:
191
191
  """
192
192
  __max_width__ = 80
193
193
 
194
+ _validate_repr = False
195
+
194
196
  def __repr__(self) -> str:
195
197
  init = self.__init__ # type: ignore[misc]
196
198
 
@@ -211,18 +213,21 @@ class RepresentationMixin:
211
213
  else:
212
214
  defaults = {}
213
215
 
214
- for arg in argspec.args[1:]:
215
- if not hasattr(self, arg):
216
- template = (f'class {self.__class__.__name__} uses {arg} in the'
217
- f' constructor, but does not define it as an '
218
- f'attribute')
219
- raise AttributeError(template)
216
+ if self._validate_repr:
217
+ for arg in argspec.args[1:]:
218
+ if not hasattr(self, arg):
219
+ template = (f'class {self.__class__.__name__} uses {arg} in the'
220
+ f' constructor, but does not define it as an '
221
+ f'attribute')
222
+ raise AttributeError(template)
223
+
224
+ default = "<unrecorded>"
220
225
 
221
226
  if len(defaults) != 0:
222
- args = [getattr(self, a) for a in argspec.args[1:-len(defaults)]]
227
+ args = [getattr(self, a, default) for a in argspec.args[1:-len(defaults)]]
223
228
  else:
224
- args = [getattr(self, a) for a in argspec.args[1:]]
225
- kwargs = {key: getattr(self, key) for key in defaults}
229
+ args = [getattr(self, a, default) for a in argspec.args[1:]]
230
+ kwargs = {key: getattr(self, key, default) for key in defaults}
226
231
 
227
232
  def assemble_multiline(args: List[str], kwargs: Dict[str, object]) -> str:
228
233
  def indent(text: str) -> str:
@@ -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.01.08'
6
+ VERSION = '2024.01.15'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsl
3
- Version: 2024.1.8
3
+ Version: 2024.1.15
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.01.08.tar.gz
6
+ Download-URL: https://github.com/Parsl/parsl/archive/2024.01.15.tar.gz
7
7
  Author: The Parsl Team
8
8
  Author-email: parsl@googlegroups.com
9
9
  License: Apache 2.0
@@ -360,6 +360,7 @@ parsl/tests/test_monitoring/test_viz_colouring.py
360
360
  parsl/tests/test_providers/__init__.py
361
361
  parsl/tests/test_providers/test_local_provider.py
362
362
  parsl/tests/test_providers/test_slurm_instantiate.py
363
+ parsl/tests/test_providers/test_submiterror_deprecation.py
363
364
  parsl/tests/test_python_apps/__init__.py
364
365
  parsl/tests/test_python_apps/test_arg_input_types.py
365
366
  parsl/tests/test_python_apps/test_basic.py
@@ -422,5 +423,7 @@ parsl/tests/test_staging/test_staging_https.py
422
423
  parsl/tests/test_threads/__init__.py
423
424
  parsl/tests/test_threads/test_configs.py
424
425
  parsl/tests/test_threads/test_lazy_errors.py
426
+ parsl/tests/test_utils/__init__.py
427
+ parsl/tests/test_utils/test_representation_mixin.py
425
428
  parsl/usage_tracking/__init__.py
426
429
  parsl/usage_tracking/usage.py
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
File without changes
File without changes