parsl 2024.6.10__tar.gz → 2024.6.17__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {parsl-2024.6.10/parsl.egg-info → parsl-2024.6.17}/PKG-INFO +2 -2
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/app.py +0 -2
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/executor.py +36 -31
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/interchange.py +5 -8
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/kubernetes/kube.py +3 -3
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_htex.py +24 -7
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/version.py +1 -1
- {parsl-2024.6.10 → parsl-2024.6.17/parsl.egg-info}/PKG-INFO +2 -2
- {parsl-2024.6.10 → parsl-2024.6.17}/setup.py +1 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/LICENSE +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/MANIFEST.in +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/README.rst +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/addresses.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/bash.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/futures.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/app/python.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/benchmark/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/benchmark/perf.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/base.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/local/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/local/local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/oauth_ssh/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/oauth_ssh/oauth_ssh.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/ssh/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/ssh/ssh.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/ssh_il/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/channels/ssh_il/ssh_il.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/concurrent/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/config.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/ASPIRE1.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/Azure.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/ad_hoc.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/bridges.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/cc_in2p3.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/ec2.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/expanse.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/frontera.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/htex_local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/illinoiscluster.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/kubernetes.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/local_threads.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/midway.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/osg.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/polaris.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/stampede2.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/summit.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/toss3_llnl.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/vineex_local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/configs/wqex_local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/curvezmq.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/data_manager.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/file_noop.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/files.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/ftp.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/globus.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/http.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/rsync.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/staging.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/data_provider/zip.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/dependency_resolvers.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/dflow.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/futures.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/memoization.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/rundirs.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/states.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/dataflow/taskrecord.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/base.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/flux/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/flux/execute_parsl_task.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/flux/executor.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/flux/flux_instance_manager.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/manager_record.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/monitoring_info.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/mpi_executor.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/mpi_prefix_composer.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/mpi_resource_management.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/probe.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/process_worker_pool.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/zmq_pipes.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/radical/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/radical/executor.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/radical/rpex_master.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/radical/rpex_resources.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/radical/rpex_worker.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/status_handling.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/exec_parsl_function.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/executor.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/factory.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/factory_config.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/manager.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/manager_config.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/taskvine/utils.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/threads.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/exec_parsl_function.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/executor.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/parsl_coprocess.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/workqueue/parsl_coprocess_stub.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/error_handlers.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/job_status_poller.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/states.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/jobs/strategy.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/launchers/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/launchers/base.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/launchers/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/launchers/launchers.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/log_utils.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/db_manager.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/message_type.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/monitoring.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/queries/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/queries/pandas.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/radios.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/remote.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/router.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/types.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/app.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/models.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/plots/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/plots/default/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/plots/default/task_plots.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/plots/default/workflow_plots.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/plots/default/workflow_resource_plots.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/static/parsl-logo-white.png +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/static/parsl-monitor.css +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/app.html +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/dag.html +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/error.html +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/layout.html +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/resource_usage.html +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/task.html +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/workflow.html +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/templates/workflows_summary.html +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/utils.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/version.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/monitoring/visualization/views.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/multiprocessing.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/process_loggers.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/ad_hoc/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/ad_hoc/ad_hoc.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/aws/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/aws/aws.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/aws/template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/azure/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/azure/azure.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/azure/template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/base.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/cluster_provider.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/cobalt/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/cobalt/cobalt.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/cobalt/template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/condor/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/condor/condor.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/condor/template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/googlecloud/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/googlecloud/googlecloud.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/grid_engine/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/grid_engine/grid_engine.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/grid_engine/template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/kubernetes/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/kubernetes/template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/local/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/local/local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/lsf/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/lsf/lsf.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/lsf/template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/pbspro/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/pbspro/pbspro.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/pbspro/template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/slurm/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/slurm/slurm.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/slurm/template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/torque/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/torque/template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/providers/torque/torque.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/py.typed +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/base.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/concretes.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/facade.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/serialize/proxystore.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/callables_helper.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/ad_hoc_cluster_htex.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/azure_single_node.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/bluewaters.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/bridges.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/cc_in2p3.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/comet.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/cooley_htex.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/ec2_single_node.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/ec2_spot.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/flux_local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/frontera.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/htex_ad_hoc_cluster.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/htex_local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/htex_local_alternate.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/htex_local_intask_staging.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/htex_local_rsync_staging.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_adhoc.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_radical.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_radical_mpi.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_checkpoint.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_checkpoint_dfk_exit.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_checkpoint_periodic.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_checkpoint_task_exit.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_ftp_in_task.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_globus.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_http_in_task.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_monitoring.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/local_threads_no_cache.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/midway.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/nscc_singapore.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/osg_htex.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/petrelkube.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/summit.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/swan_htex.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/taskvine_ex.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/theta.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/user_opts.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/configs/workqueue_ex.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/conftest.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/latency.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_apps/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_channels.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_local_channel.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_scp_1.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_ssh_1.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_ssh_errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_ssh_file_transport.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_channels/test_ssh_interactive.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_parsl_load_default_config.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_stress/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_stress/test_python_simple.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/integration/test_stress/test_python_threads.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/htex_local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_ad_hoc_htex.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_basic.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_fan_in_out_htex_remote.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_log_filter.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_memory_limits.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_oauth_ssh.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_regression_220.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_udp_simple.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/manual_tests/test_worker_count.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/htex_local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/local_threads.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/test_scale.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/vineex_condor.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/vineex_local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/wqex_condor.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/scaling_tests/wqex_local.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/site_tests/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/site_tests/site_config_selector.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/site_tests/test_provider.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/site_tests/test_site.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_affinity.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_concurrent.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_dynamic_executor.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_ec2.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_launchers.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_local_adhoc.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_mpi/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/sites/test_worker_info.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_aalst_patterns.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_apptimeout.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_basic.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_error_codes.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_keyword_overlaps.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_kwarg_storage.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_memoize.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_memoize_ignore_args.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_multiline.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_pipeline.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_std_uri.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_bash_apps/test_stdout.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_callables.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_channels/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_channels/test_large_output.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_periodic.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_python_checkpoint_1.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_python_checkpoint_2.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_python_checkpoint_3.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_regression_232.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_regression_233.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_regression_239.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_checkpointing/test_task_exit.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_curvezmq.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_from_slides.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_kwargs.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_tutorial_1.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_workflow1.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_workflow2.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_docs/test_workflow4.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_fail.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_python_walltime.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_rand_fail.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_resource_spec.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_retries.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_retry_handler.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_retry_handler_failure.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_serialization_fail.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_error_handling/test_wrap_with_logs.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_flowcontrol/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_flux.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_basic.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_command_client_timeout.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_connected_blocks.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_cpu_affinity_explicit.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_disconnected_blocks.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_drain.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_manager_failure.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_managers_command.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_missing_worker.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_multiple_disconnected_blocks.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_worker_failure.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_htex/test_zmq_binding.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_app_names.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_basic.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_db_locks.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_fuzz_zmq.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_htex_init_blocks_vs_monitoring.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_incomplete_futures.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_memoization_representation.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_stdouterr.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_monitoring/test_viz_colouring.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_bad_mpi_config.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_mpi_mode_disabled.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_mpi_prefix.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_mpi_scheduler.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_mpiex.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_mpi_apps/test_resource_spec.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_cobalt_deprecation_warning.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_local_provider.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_pbspro_template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_slurm_instantiate.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_slurm_template.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_providers/test_submiterror_deprecation.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_arg_input_types.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_basic.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_context_manager.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_dep_standard_futures.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_dependencies.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_dependencies_deep.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_depfail_propagation.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_fail.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_fibonacci_iterative.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_fibonacci_recursive.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_futures.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_garbage_collect.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_import_fail.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_join.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_lifted.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_mapred.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_1.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_2.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_4.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_bad_id_for_memo.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_ignore_args.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_memoize_joinapp.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_outputs.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_overview.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_pipeline.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_pluggable_future_resolution.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_simple.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_timeout.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_python_apps/test_type5.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_radical/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_radical/test_mpi_funcs.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_1480.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_1606_wait_for_current_tasks.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_1653.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_221.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_226.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_2652.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_69a.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_854.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_97_parallelism_0.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_regression/test_98.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_block_error_handler.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_regression_1621.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_scale_down.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_scale_down_htex_auto_scale.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_scale_down_htex_unregistered.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_scaling/test_shutdown_scalein.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_2555_caching_deserializer.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_basic.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_htex_code_cache.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_pack_resource_spec.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_proxystore_configured.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_serialization/test_proxystore_impl.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_shutdown/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_shutdown/test_kill_monitoring.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/staging_provider.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_1316.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_docs_1.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_docs_2.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_elaborate_noop_file.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_file.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_file_apps.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_file_staging.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_output_chain_filenames.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_staging_ftp.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_staging_ftp_in_task.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_staging_globus.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_staging_https.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_staging_stdout.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_zip_in.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_zip_out.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_staging/test_zip_to_zip.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_summary.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_thread_parallelism.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_threads/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_threads/test_configs.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_threads/test_lazy_errors.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_utils/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/test_utils/test_representation_mixin.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/unit/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/unit/test_file.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/unit/test_usage_tracking.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/tests/utils.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/usage_tracking/__init__.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/usage_tracking/api.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/usage_tracking/levels.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/usage_tracking/usage.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl/utils.py +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl.egg-info/SOURCES.txt +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl.egg-info/dependency_links.txt +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl.egg-info/entry_points.txt +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl.egg-info/requires.txt +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/parsl.egg-info/top_level.txt +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/requirements.txt +0 -0
- {parsl-2024.6.10 → parsl-2024.6.17}/setup.cfg +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: parsl
|
3
|
-
Version: 2024.6.
|
3
|
+
Version: 2024.6.17
|
4
4
|
Summary: Simple data dependent workflows in Python
|
5
5
|
Home-page: https://github.com/Parsl/parsl
|
6
|
-
Download-URL: https://github.com/Parsl/parsl/archive/2024.06.
|
6
|
+
Download-URL: https://github.com/Parsl/parsl/archive/2024.06.17.tar.gz
|
7
7
|
Author: The Parsl Team
|
8
8
|
Author-email: parsl@googlegroups.com
|
9
9
|
License: Apache 2.0
|
@@ -66,8 +66,6 @@ class AppBase(metaclass=ABCMeta):
|
|
66
66
|
self.kwargs['walltime'] = params['walltime'].default
|
67
67
|
if 'parsl_resource_specification' in params:
|
68
68
|
self.kwargs['parsl_resource_specification'] = params['parsl_resource_specification'].default
|
69
|
-
self.outputs = params['outputs'].default if 'outputs' in params else []
|
70
|
-
self.inputs = params['inputs'].default if 'inputs' in params else []
|
71
69
|
|
72
70
|
@abstractmethod
|
73
71
|
def __call__(self, *args: Any, **kwargs: Any) -> AppFuture:
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import logging
|
2
2
|
import math
|
3
3
|
import pickle
|
4
|
+
import subprocess
|
4
5
|
import threading
|
5
6
|
import typing
|
6
7
|
import warnings
|
7
8
|
from collections import defaultdict
|
8
9
|
from concurrent.futures import Future
|
9
10
|
from dataclasses import dataclass
|
10
|
-
from multiprocessing import Process
|
11
11
|
from typing import Callable, Dict, List, Optional, Sequence, Tuple, Union
|
12
12
|
|
13
13
|
import typeguard
|
@@ -18,7 +18,7 @@ from parsl.addresses import get_all_addresses
|
|
18
18
|
from parsl.app.errors import RemoteExceptionWrapper
|
19
19
|
from parsl.data_provider.staging import Staging
|
20
20
|
from parsl.executors.errors import BadMessage, ScalingFailed
|
21
|
-
from parsl.executors.high_throughput import
|
21
|
+
from parsl.executors.high_throughput import zmq_pipes
|
22
22
|
from parsl.executors.high_throughput.errors import CommandClientTimeoutError
|
23
23
|
from parsl.executors.high_throughput.mpi_prefix_composer import (
|
24
24
|
VALID_LAUNCHERS,
|
@@ -26,7 +26,6 @@ from parsl.executors.high_throughput.mpi_prefix_composer import (
|
|
26
26
|
)
|
27
27
|
from parsl.executors.status_handling import BlockProviderExecutor
|
28
28
|
from parsl.jobs.states import TERMINAL_STATES, JobState, JobStatus
|
29
|
-
from parsl.multiprocessing import ForkProcess
|
30
29
|
from parsl.process_loggers import wrap_with_logs
|
31
30
|
from parsl.providers import LocalProvider
|
32
31
|
from parsl.providers.base import ExecutionProvider
|
@@ -305,7 +304,7 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
305
304
|
self._task_counter = 0
|
306
305
|
self.worker_ports = worker_ports
|
307
306
|
self.worker_port_range = worker_port_range
|
308
|
-
self.interchange_proc: Optional[
|
307
|
+
self.interchange_proc: Optional[subprocess.Popen] = None
|
309
308
|
self.interchange_port_range = interchange_port_range
|
310
309
|
self.heartbeat_threshold = heartbeat_threshold
|
311
310
|
self.heartbeat_period = heartbeat_period
|
@@ -520,38 +519,45 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
520
519
|
|
521
520
|
logger.info("Queue management worker finished")
|
522
521
|
|
523
|
-
def _start_local_interchange_process(self):
|
522
|
+
def _start_local_interchange_process(self) -> None:
|
524
523
|
""" Starts the interchange process locally
|
525
524
|
|
526
|
-
Starts the interchange process locally and uses
|
525
|
+
Starts the interchange process locally and uses the command queue to
|
527
526
|
get the worker task and result ports that the interchange has bound to.
|
528
527
|
"""
|
529
|
-
self.interchange_proc = ForkProcess(target=interchange.starter,
|
530
|
-
kwargs={"client_address": "127.0.0.1",
|
531
|
-
"client_ports": (self.outgoing_q.port,
|
532
|
-
self.incoming_q.port,
|
533
|
-
self.command_client.port),
|
534
|
-
"interchange_address": self.address,
|
535
|
-
"worker_ports": self.worker_ports,
|
536
|
-
"worker_port_range": self.worker_port_range,
|
537
|
-
"hub_address": self.hub_address,
|
538
|
-
"hub_zmq_port": self.hub_zmq_port,
|
539
|
-
"logdir": self.logdir,
|
540
|
-
"heartbeat_threshold": self.heartbeat_threshold,
|
541
|
-
"poll_period": self.poll_period,
|
542
|
-
"logging_level": logging.DEBUG if self.worker_debug else logging.INFO,
|
543
|
-
"cert_dir": self.cert_dir,
|
544
|
-
},
|
545
|
-
daemon=True,
|
546
|
-
name="HTEX-Interchange"
|
547
|
-
)
|
548
|
-
self.interchange_proc.start()
|
549
528
|
|
529
|
+
interchange_config = {"client_address": "127.0.0.1",
|
530
|
+
"client_ports": (self.outgoing_q.port,
|
531
|
+
self.incoming_q.port,
|
532
|
+
self.command_client.port),
|
533
|
+
"interchange_address": self.address,
|
534
|
+
"worker_ports": self.worker_ports,
|
535
|
+
"worker_port_range": self.worker_port_range,
|
536
|
+
"hub_address": self.hub_address,
|
537
|
+
"hub_zmq_port": self.hub_zmq_port,
|
538
|
+
"logdir": self.logdir,
|
539
|
+
"heartbeat_threshold": self.heartbeat_threshold,
|
540
|
+
"poll_period": self.poll_period,
|
541
|
+
"logging_level": logging.DEBUG if self.worker_debug else logging.INFO,
|
542
|
+
"cert_dir": self.cert_dir,
|
543
|
+
}
|
544
|
+
|
545
|
+
config_pickle = pickle.dumps(interchange_config)
|
546
|
+
|
547
|
+
self.interchange_proc = subprocess.Popen(b"interchange.py", stdin=subprocess.PIPE)
|
548
|
+
stdin = self.interchange_proc.stdin
|
549
|
+
assert stdin is not None, "Popen should have created an IO object (vs default None) because of PIPE mode"
|
550
|
+
|
551
|
+
logger.debug("Popened interchange process. Writing config object")
|
552
|
+
stdin.write(config_pickle)
|
553
|
+
stdin.flush()
|
554
|
+
logger.debug("Sent config object. Requesting worker ports")
|
550
555
|
try:
|
551
556
|
(self.worker_task_port, self.worker_result_port) = self.command_client.run("WORKER_PORTS", timeout_s=120)
|
552
557
|
except CommandClientTimeoutError:
|
553
|
-
logger.error("Interchange has not completed initialization
|
558
|
+
logger.error("Interchange has not completed initialization. Aborting")
|
554
559
|
raise Exception("Interchange failed to start")
|
560
|
+
logger.debug("Got worker ports")
|
555
561
|
|
556
562
|
def _start_queue_management_thread(self):
|
557
563
|
"""Method to start the management thread as a daemon.
|
@@ -810,13 +816,12 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
810
816
|
logger.info("Attempting HighThroughputExecutor shutdown")
|
811
817
|
|
812
818
|
self.interchange_proc.terminate()
|
813
|
-
|
814
|
-
|
819
|
+
try:
|
820
|
+
self.interchange_proc.wait(timeout=timeout)
|
821
|
+
except subprocess.TimeoutExpired:
|
815
822
|
logger.info("Unable to terminate Interchange process; sending SIGKILL")
|
816
823
|
self.interchange_proc.kill()
|
817
824
|
|
818
|
-
self.interchange_proc.close()
|
819
|
-
|
820
825
|
logger.info("Finished HighThroughputExecutor shutdown attempt")
|
821
826
|
|
822
827
|
def get_usage_information(self):
|
@@ -672,13 +672,10 @@ def start_file_logger(filename: str, level: int = logging.DEBUG, format_string:
|
|
672
672
|
logger.addHandler(handler)
|
673
673
|
|
674
674
|
|
675
|
-
|
676
|
-
def starter(*args: Any, **kwargs: Any) -> None:
|
677
|
-
"""Start the interchange process
|
678
|
-
|
679
|
-
The executor is expected to call this function. The args, kwargs match that of the Interchange.__init__
|
680
|
-
"""
|
675
|
+
if __name__ == "__main__":
|
681
676
|
setproctitle("parsl: HTEX interchange")
|
682
|
-
|
683
|
-
|
677
|
+
|
678
|
+
config = pickle.load(sys.stdin.buffer)
|
679
|
+
|
680
|
+
ic = Interchange(**config)
|
684
681
|
ic.start()
|
@@ -243,13 +243,13 @@ class KubernetesProvider(ExecutionProvider, RepresentationMixin):
|
|
243
243
|
for jid in to_poll_job_ids:
|
244
244
|
phase = None
|
245
245
|
try:
|
246
|
-
|
246
|
+
pod = self.kube_client.read_namespaced_pod(name=jid, namespace=self.namespace)
|
247
247
|
except Exception:
|
248
248
|
logger.exception("Failed to poll pod {} status, most likely because pod was terminated".format(jid))
|
249
249
|
if self.resources[jid]['status'] is JobStatus(JobState.RUNNING):
|
250
250
|
phase = 'Unknown'
|
251
251
|
else:
|
252
|
-
phase =
|
252
|
+
phase = pod.status.phase
|
253
253
|
if phase:
|
254
254
|
status = translate_table.get(phase, JobState.UNKNOWN)
|
255
255
|
logger.debug("Updating pod {} with status {} to parsl status {}".format(jid,
|
@@ -286,7 +286,7 @@ class KubernetesProvider(ExecutionProvider, RepresentationMixin):
|
|
286
286
|
# Create the environment variables and command to initiate IPP
|
287
287
|
environment_vars = client.V1EnvVar(name="TEST", value="SOME DATA")
|
288
288
|
|
289
|
-
launch_args = ["-c", "{0}
|
289
|
+
launch_args = ["-c", "{0}".format(cmd_string)]
|
290
290
|
|
291
291
|
volume_mounts = []
|
292
292
|
# Create mount paths for the volumes
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import pathlib
|
2
2
|
import warnings
|
3
|
+
from subprocess import Popen, TimeoutExpired
|
3
4
|
from unittest import mock
|
4
5
|
|
5
6
|
import pytest
|
6
7
|
|
7
8
|
from parsl import HighThroughputExecutor, curvezmq
|
8
|
-
from parsl.multiprocessing import ForkProcess
|
9
9
|
|
10
10
|
_MOCK_BASE = "parsl.executors.high_throughput.executor"
|
11
11
|
|
@@ -78,16 +78,33 @@ def test_htex_shutdown(
|
|
78
78
|
timeout_expires: bool,
|
79
79
|
htex: HighThroughputExecutor,
|
80
80
|
):
|
81
|
-
mock_ix_proc = mock.Mock(spec=
|
81
|
+
mock_ix_proc = mock.Mock(spec=Popen)
|
82
82
|
|
83
83
|
if started:
|
84
84
|
htex.interchange_proc = mock_ix_proc
|
85
|
-
|
85
|
+
|
86
|
+
# This will, in the absence of any exit trigger, block forever if
|
87
|
+
# no timeout is given and if the interchange does not terminate.
|
88
|
+
# Raise an exception to report that, rather than actually block,
|
89
|
+
# and hope that nothing is catching that exception.
|
90
|
+
|
91
|
+
# this function implements the behaviour if the interchange has
|
92
|
+
# not received a termination call
|
93
|
+
def proc_wait_alive(timeout):
|
94
|
+
if timeout:
|
95
|
+
raise TimeoutExpired(cmd="mock-interchange", timeout=timeout)
|
96
|
+
else:
|
97
|
+
raise RuntimeError("This wait call would hang forever")
|
98
|
+
|
99
|
+
def proc_wait_terminated(timeout):
|
100
|
+
return 0
|
101
|
+
|
102
|
+
mock_ix_proc.wait.side_effect = proc_wait_alive
|
86
103
|
|
87
104
|
if not timeout_expires:
|
88
105
|
# Simulate termination of the Interchange process
|
89
106
|
def kill_interchange(*args, **kwargs):
|
90
|
-
mock_ix_proc.
|
107
|
+
mock_ix_proc.wait.side_effect = proc_wait_terminated
|
91
108
|
|
92
109
|
mock_ix_proc.terminate.side_effect = kill_interchange
|
93
110
|
|
@@ -96,8 +113,8 @@ def test_htex_shutdown(
|
|
96
113
|
mock_logs = mock_logger.info.call_args_list
|
97
114
|
if started:
|
98
115
|
assert mock_ix_proc.terminate.called
|
99
|
-
assert mock_ix_proc.
|
100
|
-
assert {"timeout": 10} == mock_ix_proc.
|
116
|
+
assert mock_ix_proc.wait.called
|
117
|
+
assert {"timeout": 10} == mock_ix_proc.wait.call_args[1]
|
101
118
|
if timeout_expires:
|
102
119
|
assert "Unable to terminate Interchange" in mock_logs[1][0][0]
|
103
120
|
assert mock_ix_proc.kill.called
|
@@ -105,7 +122,7 @@ def test_htex_shutdown(
|
|
105
122
|
assert "Finished" in mock_logs[-1][0][0]
|
106
123
|
else:
|
107
124
|
assert not mock_ix_proc.terminate.called
|
108
|
-
assert not mock_ix_proc.
|
125
|
+
assert not mock_ix_proc.wait.called
|
109
126
|
assert "has not started" in mock_logs[0][0][0]
|
110
127
|
|
111
128
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: parsl
|
3
|
-
Version: 2024.6.
|
3
|
+
Version: 2024.6.17
|
4
4
|
Summary: Simple data dependent workflows in Python
|
5
5
|
Home-page: https://github.com/Parsl/parsl
|
6
|
-
Download-URL: https://github.com/Parsl/parsl/archive/2024.06.
|
6
|
+
Download-URL: https://github.com/Parsl/parsl/archive/2024.06.17.tar.gz
|
7
7
|
Author: The Parsl Team
|
8
8
|
Author-email: parsl@googlegroups.com
|
9
9
|
License: Apache 2.0
|
@@ -56,6 +56,7 @@ setup(
|
|
56
56
|
python_requires=">=3.8.0",
|
57
57
|
install_requires=install_requires,
|
58
58
|
scripts = ['parsl/executors/high_throughput/process_worker_pool.py',
|
59
|
+
'parsl/executors/high_throughput/interchange.py',
|
59
60
|
'parsl/executors/workqueue/exec_parsl_function.py',
|
60
61
|
'parsl/executors/workqueue/parsl_coprocess.py',
|
61
62
|
],
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
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
|
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
|
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
|
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
|
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
|
{parsl-2024.6.10 → parsl-2024.6.17}/parsl/executors/high_throughput/mpi_resource_management.py
RENAMED
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
|
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
|
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
|
File without changes
|
File without changes
|