parsl 2025.9.29__tar.gz → 2025.10.6__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.
Potentially problematic release.
This version of parsl might be problematic. Click here for more details.
- {parsl-2025.9.29/parsl.egg-info → parsl-2025.10.6}/PKG-INFO +2 -2
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/dataflow/dflow.py +5 -2
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/executor.py +67 -14
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/process_worker_pool.py +15 -2
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_checkpointing/test_regression_233.py +0 -1
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_htex.py +36 -1
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_garbage_collect.py +1 -6
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_memoize_2.py +11 -1
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/version.py +1 -1
- {parsl-2025.9.29 → parsl-2025.10.6/parsl.egg-info}/PKG-INFO +2 -2
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl.egg-info/SOURCES.txt +0 -1
- parsl-2025.9.29/parsl/tests/configs/local_threads_no_cache.py +0 -11
- {parsl-2025.9.29 → parsl-2025.10.6}/LICENSE +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/MANIFEST.in +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/README.rst +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/addresses.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/app/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/app/app.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/app/bash.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/app/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/app/futures.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/app/python.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/benchmark/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/benchmark/perf.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/concurrent/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/config.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/ASPIRE1.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/Azure.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/anvil.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/bridges.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/cc_in2p3.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/delta.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/ec2.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/expanse.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/frontera.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/gc_multisite.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/gc_tutorial.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/htex_local.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/illinoiscluster.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/improv.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/kubernetes.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/local_threads.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/midway.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/osg.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/polaris.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/stampede2.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/summit.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/toss3_llnl.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/vineex_local.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/configs/wqex_local.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/curvezmq.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/data_provider/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/data_provider/data_manager.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/data_provider/file_noop.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/data_provider/files.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/data_provider/ftp.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/data_provider/globus.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/data_provider/http.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/data_provider/rsync.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/data_provider/staging.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/data_provider/zip.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/dataflow/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/dataflow/dependency_resolvers.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/dataflow/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/dataflow/futures.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/dataflow/memoization.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/dataflow/rundirs.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/dataflow/states.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/dataflow/taskrecord.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/base.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/execute_task.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/flux/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/flux/execute_parsl_task.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/flux/executor.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/flux/flux_instance_manager.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/globus_compute.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/interchange.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/manager_record.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/manager_selector.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/monitoring_info.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/mpi_executor.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/mpi_prefix_composer.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/mpi_resource_management.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/probe.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/high_throughput/zmq_pipes.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/radical/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/radical/executor.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/radical/rpex_resources.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/radical/rpex_worker.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/status_handling.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/taskvine/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/taskvine/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/taskvine/exec_parsl_function.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/taskvine/executor.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/taskvine/factory.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/taskvine/factory_config.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/taskvine/manager.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/taskvine/manager_config.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/taskvine/utils.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/threads.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/workqueue/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/workqueue/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/workqueue/exec_parsl_function.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/workqueue/executor.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/workqueue/parsl_coprocess.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/executors/workqueue/parsl_coprocess_stub.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/jobs/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/jobs/error_handlers.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/jobs/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/jobs/job_status_poller.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/jobs/states.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/jobs/strategy.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/launchers/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/launchers/base.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/launchers/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/launchers/launchers.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/log_utils.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/db_manager.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/message_type.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/monitoring.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/queries/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/queries/pandas.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/radios/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/radios/base.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/radios/filesystem.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/radios/filesystem_router.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/radios/htex.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/radios/multiprocessing.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/radios/udp.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/radios/udp_router.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/radios/zmq.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/radios/zmq_router.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/remote.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/types.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/app.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/models.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/plots/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/plots/default/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/plots/default/task_plots.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/plots/default/workflow_plots.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/plots/default/workflow_resource_plots.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/static/parsl-logo-white.png +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/static/parsl-monitor.css +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/templates/app.html +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/templates/dag.html +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/templates/error.html +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/templates/layout.html +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/templates/resource_usage.html +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/templates/task.html +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/templates/workflow.html +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/templates/workflows_summary.html +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/utils.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/version.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/monitoring/visualization/views.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/multiprocessing.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/process_loggers.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/aws/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/aws/aws.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/aws/template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/azure/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/azure/azure.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/azure/template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/base.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/cluster_provider.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/condor/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/condor/condor.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/condor/template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/googlecloud/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/googlecloud/googlecloud.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/grid_engine/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/grid_engine/grid_engine.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/grid_engine/template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/kubernetes/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/kubernetes/kube.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/kubernetes/template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/local/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/local/local.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/lsf/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/lsf/lsf.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/lsf/template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/pbspro/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/pbspro/pbspro.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/pbspro/template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/slurm/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/slurm/slurm.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/slurm/template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/torque/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/torque/template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/providers/torque/torque.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/py.typed +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/serialize/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/serialize/base.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/serialize/concretes.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/serialize/errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/serialize/facade.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/serialize/proxystore.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/callables_helper.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/azure_single_node.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/bluewaters.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/bridges.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/cc_in2p3.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/comet.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/ec2_single_node.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/ec2_spot.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/flux_local.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/frontera.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/globus_compute.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/htex_local.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/htex_local_alternate.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/htex_local_intask_staging.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/htex_local_rsync_staging.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/local_radical.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/local_radical_mpi.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/local_threads.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/local_threads_checkpoint.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/local_threads_checkpoint_dfk_exit.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/local_threads_checkpoint_task_exit.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/local_threads_ftp_in_task.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/local_threads_globus.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/local_threads_http_in_task.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/midway.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/nscc_singapore.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/osg_htex.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/petrelkube.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/slurm_local.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/summit.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/taskvine_ex.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/user_opts.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/configs/workqueue_ex.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/conftest.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/integration/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/integration/latency.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/integration/test_apps/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/integration/test_parsl_load_default_config.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/integration/test_stress/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/integration/test_stress/test_python_simple.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/integration/test_stress/test_python_threads.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/manual_tests/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/manual_tests/htex_local.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/manual_tests/test_basic.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/manual_tests/test_log_filter.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/manual_tests/test_memory_limits.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/manual_tests/test_regression_220.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/manual_tests/test_worker_count.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/site_tests/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/site_tests/site_config_selector.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/sites/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/sites/test_affinity.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/sites/test_concurrent.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/sites/test_dynamic_executor.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/sites/test_ec2.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/sites/test_launchers.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/sites/test_mpi/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/sites/test_worker_info.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_apptimeout.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_basic.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_error_codes.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_inputs_default.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_keyword_overlaps.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_kwarg_storage.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_memoize.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_memoize_ignore_args.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_multiline.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_pipeline.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_std_uri.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_bash_apps/test_stdout.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_callables.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_checkpointing/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_checkpointing/test_periodic.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_checkpointing/test_python_checkpoint_1.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_checkpointing/test_python_checkpoint_2.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_checkpointing/test_regression_232.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_checkpointing/test_regression_239.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_checkpointing/test_task_exit.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_curvezmq.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_docs/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_docs/test_from_slides.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_docs/test_kwargs.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_docs/test_tutorial_1.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_docs/test_workflow1.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_docs/test_workflow4.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_error_handling/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_error_handling/test_fail.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_error_handling/test_python_walltime.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_error_handling/test_resource_spec.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_error_handling/test_retries.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_error_handling/test_retry_handler.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_error_handling/test_retry_handler_failure.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_error_handling/test_serialization_fail.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_error_handling/test_wrap_with_logs.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_execute_task.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_flowcontrol/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_flux.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_basic.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_block_manager_selector_unit.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_command_client_timeout.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_command_concurrency_regression_1321.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_connected_blocks.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_cpu_affinity_explicit.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_disconnected_blocks.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_disconnected_blocks_failing_provider.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_drain.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_interchange_exit_bad_registration.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_manager_failure.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_manager_selector_by_block.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_managers_command.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_missing_worker.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_multiple_disconnected_blocks.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_priority_queue.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_resource_spec_validation.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_worker_failure.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_htex/test_zmq_binding.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_app_names.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_basic.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_db_locks.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_exit_helper.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_htex_fuzz_zmq.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_htex_init_blocks_vs_monitoring.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_incomplete_futures.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_memoization_representation.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_radio_filesystem.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_radio_multiprocessing.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_radio_udp.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_radio_zmq.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_stdouterr.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_monitoring/test_viz_colouring.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_mpi_apps/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_mpi_apps/test_bad_mpi_config.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_mpi_apps/test_mpi_prefix.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_mpi_apps/test_mpi_scheduler.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_mpi_apps/test_mpiex.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_mpi_apps/test_resource_spec.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_providers/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_providers/test_kubernetes_provider.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_providers/test_local_provider.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_providers/test_pbspro_template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_providers/test_slurm_instantiate.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_providers/test_slurm_template.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_providers/test_submiterror_deprecation.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_arg_input_types.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_basic.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_context_manager.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_dep_standard_futures.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_dependencies.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_dependencies_deep.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_depfail_propagation.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_fail.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_fibonacci_iterative.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_fibonacci_recursive.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_futures.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_import_fail.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_inputs_default.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_join.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_lifted.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_mapred.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_memoize_1.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_memoize_4.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_memoize_bad_id_for_memo.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_memoize_exception.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_memoize_ignore_args.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_memoize_joinapp.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_outputs.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_overview.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_pipeline.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_pluggable_future_resolution.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_simple.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_timeout.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_python_apps/test_type5.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_radical/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_radical/test_mpi_funcs.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/test_1480.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/test_1606_wait_for_current_tasks.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/test_1653.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/test_221.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/test_226.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/test_2652.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/test_3874.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/test_69a.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/test_97_parallelism_0.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_regression/test_98.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_scaling/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_scaling/test_block_error_handler.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_scaling/test_regression_1621.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_scaling/test_regression_3568_scaledown_vs_MISSING.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_scaling/test_regression_3696_oscillation.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_scaling/test_scale_down.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_scaling/test_scale_down_htex_auto_scale.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_scaling/test_scale_down_htex_unregistered.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_scaling/test_shutdown_scalein.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_scaling/test_worker_interchange_bad_messages_3262.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_serialization/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_serialization/test_2555_caching_deserializer.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_serialization/test_3495_deserialize_managerlost.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_serialization/test_basic.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_serialization/test_htex_code_cache.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_serialization/test_proxystore_configured.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_serialization/test_proxystore_impl.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_shutdown/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_shutdown/test_kill_monitoring.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/staging_provider.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_1316.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_docs_1.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_docs_2.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_elaborate_noop_file.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_file.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_file_apps.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_file_staging.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_output_chain_filenames.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_staging_ftp.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_staging_ftp_in_task.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_staging_globus.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_staging_https.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_staging_stdout.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_zip_in.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_zip_out.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_staging/test_zip_to_zip.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_summary.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_thread_parallelism.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_threads/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_threads/test_configs.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_threads/test_lazy_errors.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_utils/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_utils/test_execute_wait.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_utils/test_logutils.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_utils/test_representation_mixin.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/test_utils/test_sanitize_dns.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/unit/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/unit/test_address.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/unit/test_file.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/unit/test_globus_compute_executor.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/unit/test_usage_tracking.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/tests/utils.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/usage_tracking/__init__.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/usage_tracking/api.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/usage_tracking/levels.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/usage_tracking/usage.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl/utils.py +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl.egg-info/dependency_links.txt +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl.egg-info/entry_points.txt +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl.egg-info/requires.txt +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/parsl.egg-info/top_level.txt +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/requirements.txt +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/setup.cfg +0 -0
- {parsl-2025.9.29 → parsl-2025.10.6}/setup.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: parsl
|
|
3
|
-
Version: 2025.
|
|
3
|
+
Version: 2025.10.6
|
|
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/2025.
|
|
6
|
+
Download-URL: https://github.com/Parsl/parsl/archive/2025.10.06.tar.gz
|
|
7
7
|
Author: The Parsl Team
|
|
8
8
|
Author-email: parsl@googlegroups.com
|
|
9
9
|
License: Apache 2.0
|
|
@@ -375,6 +375,7 @@ class DataFlowKernel:
|
|
|
375
375
|
logger.info("Task {} failed due to dependency failure so skipping retries".format(task_id))
|
|
376
376
|
task_record['time_returned'] = datetime.datetime.now()
|
|
377
377
|
self._send_task_log_info(task_record)
|
|
378
|
+
self.memoizer.update_memo(task_record)
|
|
378
379
|
with task_record['app_fu']._update_lock:
|
|
379
380
|
task_record['app_fu'].set_exception(e)
|
|
380
381
|
|
|
@@ -400,6 +401,7 @@ class DataFlowKernel:
|
|
|
400
401
|
self.update_task_state(task_record, States.failed)
|
|
401
402
|
task_record['time_returned'] = datetime.datetime.now()
|
|
402
403
|
self._send_task_log_info(task_record)
|
|
404
|
+
self.memoizer.update_memo(task_record)
|
|
403
405
|
with task_record['app_fu']._update_lock:
|
|
404
406
|
task_record['app_fu'].set_exception(e)
|
|
405
407
|
|
|
@@ -446,6 +448,7 @@ class DataFlowKernel:
|
|
|
446
448
|
self.update_task_state(task_record, States.failed)
|
|
447
449
|
task_record['time_returned'] = datetime.datetime.now()
|
|
448
450
|
self._send_task_log_info(task_record)
|
|
451
|
+
self.memoizer.update_memo(task_record)
|
|
449
452
|
with task_record['app_fu']._update_lock:
|
|
450
453
|
task_record['app_fu'].set_exception(
|
|
451
454
|
TypeError(f"join_app body must return a Future or list of Futures, got {joinable} of type {type(joinable)}"))
|
|
@@ -521,6 +524,7 @@ class DataFlowKernel:
|
|
|
521
524
|
|
|
522
525
|
self.update_task_state(task_record, States.failed)
|
|
523
526
|
task_record['time_returned'] = datetime.datetime.now()
|
|
527
|
+
self.memoizer.update_memo(task_record)
|
|
524
528
|
with task_record['app_fu']._update_lock:
|
|
525
529
|
task_record['app_fu'].set_exception(e)
|
|
526
530
|
|
|
@@ -561,8 +565,6 @@ class DataFlowKernel:
|
|
|
561
565
|
if not task_record['app_fu'] == future:
|
|
562
566
|
logger.error("Internal consistency error: callback future is not the app_fu in task structure, for task {}".format(task_id))
|
|
563
567
|
|
|
564
|
-
self.memoizer.update_memo(task_record)
|
|
565
|
-
|
|
566
568
|
# Cover all checkpointing cases here:
|
|
567
569
|
# Do we need to checkpoint now, or queue for later,
|
|
568
570
|
# or do nothing?
|
|
@@ -591,6 +593,7 @@ class DataFlowKernel:
|
|
|
591
593
|
logger.info(f"Task {task_record['id']} completed ({old_state.name} -> {new_state.name})")
|
|
592
594
|
task_record['time_returned'] = datetime.datetime.now()
|
|
593
595
|
|
|
596
|
+
self.memoizer.update_memo(task_record)
|
|
594
597
|
with task_record['app_fu']._update_lock:
|
|
595
598
|
task_record['app_fu'].set_result(result)
|
|
596
599
|
|
|
@@ -160,6 +160,12 @@ GENERAL_HTEX_PARAM_DOCS = """provider : :class:`~parsl.providers.base.ExecutionP
|
|
|
160
160
|
""" # Documentation for params used by both HTEx and MPIEx
|
|
161
161
|
|
|
162
162
|
|
|
163
|
+
class HTEXFuture(Future):
|
|
164
|
+
def __init__(self, task_id) -> None:
|
|
165
|
+
super().__init__()
|
|
166
|
+
self.parsl_executor_task_id = task_id
|
|
167
|
+
|
|
168
|
+
|
|
163
169
|
class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageInformation):
|
|
164
170
|
__doc__ = f"""Executor designed for cluster-scale
|
|
165
171
|
|
|
@@ -670,7 +676,7 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
|
670
676
|
logger.debug("Sending hold to manager: {}".format(manager['manager']))
|
|
671
677
|
self._hold_manager(manager['manager'])
|
|
672
678
|
|
|
673
|
-
def submit(self, func, resource_specification, *args, **kwargs):
|
|
679
|
+
def submit(self, func: Callable, resource_specification: dict, *args, **kwargs) -> HTEXFuture:
|
|
674
680
|
"""Submits work to the outgoing_q.
|
|
675
681
|
|
|
676
682
|
The outgoing_q is an external process listens on this
|
|
@@ -691,21 +697,11 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
|
691
697
|
|
|
692
698
|
self.validate_resource_spec(resource_specification)
|
|
693
699
|
|
|
694
|
-
if self.bad_state_is_set:
|
|
695
|
-
raise self.executor_exception
|
|
696
|
-
|
|
697
|
-
self._task_counter += 1
|
|
698
|
-
task_id = self._task_counter
|
|
699
|
-
|
|
700
700
|
# handle people sending blobs gracefully
|
|
701
701
|
if logger.getEffectiveLevel() <= logging.DEBUG:
|
|
702
702
|
args_to_print = tuple([ar if len(ar := repr(arg)) < 100 else (ar[:100] + '...') for arg in args])
|
|
703
703
|
logger.debug("Pushing function {} to queue with args {}".format(func, args_to_print))
|
|
704
704
|
|
|
705
|
-
fut = Future()
|
|
706
|
-
fut.parsl_executor_task_id = task_id
|
|
707
|
-
self.tasks[task_id] = fut
|
|
708
|
-
|
|
709
705
|
try:
|
|
710
706
|
fn_buf = pack_apply_message(func, args, kwargs, buffer_threshold=1 << 20)
|
|
711
707
|
except TypeError:
|
|
@@ -715,12 +711,69 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
|
715
711
|
if resource_specification:
|
|
716
712
|
context["resource_spec"] = resource_specification
|
|
717
713
|
|
|
718
|
-
|
|
714
|
+
return self.submit_payload(context, fn_buf)
|
|
715
|
+
|
|
716
|
+
def submit_payload(self, context: dict, buffer: bytes) -> HTEXFuture:
|
|
717
|
+
"""
|
|
718
|
+
Submit specially crafted payloads.
|
|
719
|
+
|
|
720
|
+
For use-cases where the ``HighThroughputExecutor`` consumer needs the payload
|
|
721
|
+
handled by the worker in a special way. For example, if the function is
|
|
722
|
+
serialized differently than Parsl's default approach, or if the task must
|
|
723
|
+
be setup more precisely than Parsl's default ``execute_task`` allows.
|
|
724
|
+
|
|
725
|
+
An example interaction:
|
|
726
|
+
|
|
727
|
+
.. code-block: python
|
|
728
|
+
|
|
729
|
+
>>> htex: HighThroughputExecutor # setup prior to this example
|
|
730
|
+
>>> ctxt = {
|
|
731
|
+
... "task_executor": {
|
|
732
|
+
... "f": "full.import.path.of.custom_execute_task",
|
|
733
|
+
... "a": ("additional", "arguments"),
|
|
734
|
+
... "k": {"some": "keyword", "args": "here"}
|
|
735
|
+
... }
|
|
736
|
+
... }
|
|
737
|
+
>>> fn_buf = custom_serialize(task_func, *task_args, **task_kwargs)
|
|
738
|
+
>>> fut = htex.submit_payload(ctxt, fn_buf)
|
|
739
|
+
|
|
740
|
+
The custom ``custom_execute_task`` would be dynamically imported, and
|
|
741
|
+
invoked as:
|
|
742
|
+
|
|
743
|
+
.. code-block: python
|
|
744
|
+
|
|
745
|
+
args = ("additional", "arguments")
|
|
746
|
+
kwargs = {"some": "keyword", "args": "here"}
|
|
747
|
+
result = custom_execute_task(fn_buf, *args, **kwargs)
|
|
748
|
+
|
|
749
|
+
Parameters
|
|
750
|
+
----------
|
|
751
|
+
context:
|
|
752
|
+
A task-specific context associated with the function buffer. Parsl
|
|
753
|
+
currently implements the keys ``task_executor`` and ``resource_spec``
|
|
754
|
+
|
|
755
|
+
buffer:
|
|
756
|
+
A serialized function, that will be deserialized and executed by
|
|
757
|
+
``execute_task`` (or custom function, if ``task_executor`` is specified)
|
|
758
|
+
|
|
759
|
+
Returns
|
|
760
|
+
-------
|
|
761
|
+
An HTEXFuture (a normal Future, with the attribute ``.parsl_executor_task_id``
|
|
762
|
+
set). The future will be set to done when the associated function buffer has
|
|
763
|
+
been invoked and completed.
|
|
764
|
+
"""
|
|
765
|
+
if self.bad_state_is_set:
|
|
766
|
+
raise self.executor_exception
|
|
767
|
+
|
|
768
|
+
self._task_counter += 1
|
|
769
|
+
task_id = self._task_counter
|
|
770
|
+
|
|
771
|
+
fut = HTEXFuture(task_id)
|
|
772
|
+
self.tasks[task_id] = fut
|
|
719
773
|
|
|
720
|
-
|
|
774
|
+
msg = {"task_id": task_id, "context": context, "buffer": buffer}
|
|
721
775
|
self.outgoing_q.put(msg)
|
|
722
776
|
|
|
723
|
-
# Return the future
|
|
724
777
|
return fut
|
|
725
778
|
|
|
726
779
|
@property
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
|
|
3
3
|
import argparse
|
|
4
|
+
import importlib
|
|
4
5
|
import logging
|
|
5
6
|
import math
|
|
6
7
|
import multiprocessing
|
|
@@ -17,7 +18,7 @@ from importlib.metadata import distributions
|
|
|
17
18
|
from multiprocessing.context import SpawnProcess
|
|
18
19
|
from multiprocessing.managers import DictProxy
|
|
19
20
|
from multiprocessing.sharedctypes import Synchronized
|
|
20
|
-
from typing import Dict, List, Optional, Sequence
|
|
21
|
+
from typing import Callable, Dict, List, Optional, Sequence
|
|
21
22
|
|
|
22
23
|
import psutil
|
|
23
24
|
import zmq
|
|
@@ -778,8 +779,20 @@ def worker(
|
|
|
778
779
|
|
|
779
780
|
_init_mpi_env(mpi_launcher=mpi_launcher, resource_spec=res_spec)
|
|
780
781
|
|
|
782
|
+
exec_func: Callable = execute_task
|
|
783
|
+
exec_args = ()
|
|
784
|
+
exec_kwargs = {}
|
|
785
|
+
|
|
781
786
|
try:
|
|
782
|
-
|
|
787
|
+
if task_executor := ctxt.get("task_executor", None):
|
|
788
|
+
mod_name, _, fn_name = task_executor["f"].rpartition(".")
|
|
789
|
+
exec_mod = importlib.import_module(mod_name)
|
|
790
|
+
exec_func = getattr(exec_mod, fn_name)
|
|
791
|
+
|
|
792
|
+
exec_args = task_executor.get("a", ())
|
|
793
|
+
exec_kwargs = task_executor.get("k", {})
|
|
794
|
+
|
|
795
|
+
result = exec_func(req['buffer'], *exec_args, **exec_kwargs)
|
|
783
796
|
serialized_result = serialize(result, buffer_threshold=1000000)
|
|
784
797
|
except Exception as e:
|
|
785
798
|
logger.info('Caught an exception: {}'.format(e))
|
|
@@ -7,6 +7,7 @@ from unittest import mock
|
|
|
7
7
|
import pytest
|
|
8
8
|
|
|
9
9
|
from parsl import HighThroughputExecutor, curvezmq
|
|
10
|
+
from parsl.serialize.facade import pack_apply_message, unpack_apply_message
|
|
10
11
|
|
|
11
12
|
_MOCK_BASE = "parsl.executors.high_throughput.executor"
|
|
12
13
|
|
|
@@ -19,11 +20,16 @@ def encrypted(request: pytest.FixtureRequest):
|
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
@pytest.fixture
|
|
22
|
-
def htex(encrypted: bool):
|
|
23
|
+
def htex(encrypted: bool, tmpd_cwd):
|
|
23
24
|
htex = HighThroughputExecutor(encrypted=encrypted)
|
|
25
|
+
htex.max_workers_per_node = 1
|
|
26
|
+
htex.run_dir = tmpd_cwd
|
|
27
|
+
htex.provider.script_dir = tmpd_cwd
|
|
24
28
|
|
|
25
29
|
yield htex
|
|
26
30
|
|
|
31
|
+
if hasattr(htex, "outgoing_q"):
|
|
32
|
+
htex.scale_in(blocks=1000)
|
|
27
33
|
htex.shutdown()
|
|
28
34
|
|
|
29
35
|
|
|
@@ -146,3 +152,32 @@ def test_htex_interchange_launch_cmd(cmd: Optional[Sequence[str]]):
|
|
|
146
152
|
else:
|
|
147
153
|
htex = HighThroughputExecutor()
|
|
148
154
|
assert htex.interchange_launch_cmd == ["interchange.py"]
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
def dyn_exec(buf, *vec_y):
|
|
158
|
+
f, a, _ = unpack_apply_message(buf)
|
|
159
|
+
custom_args = [a, vec_y]
|
|
160
|
+
return f(*custom_args)
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
@pytest.mark.local
|
|
164
|
+
def test_worker_dynamic_import(htex: HighThroughputExecutor):
|
|
165
|
+
def _dot_prod(vec_x, vec_y):
|
|
166
|
+
return sum(x * y for x, y in zip(vec_x, vec_y))
|
|
167
|
+
|
|
168
|
+
htex.start()
|
|
169
|
+
htex.scale_out_facade(1)
|
|
170
|
+
|
|
171
|
+
num_array = tuple(range(10))
|
|
172
|
+
|
|
173
|
+
fn_buf = pack_apply_message(_dot_prod, num_array, {})
|
|
174
|
+
ctxt = {
|
|
175
|
+
"task_executor": {
|
|
176
|
+
"f": f"{dyn_exec.__module__}.{dyn_exec.__name__}",
|
|
177
|
+
"a": num_array, # prove "custom" dyn_exec
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
val = htex.submit_payload(ctxt, fn_buf).result()
|
|
181
|
+
exp_val = _dot_prod(num_array, num_array)
|
|
182
|
+
|
|
183
|
+
assert val == exp_val
|
|
@@ -27,10 +27,5 @@ def test_garbage_collect():
|
|
|
27
27
|
|
|
28
28
|
evt.set()
|
|
29
29
|
assert x.result() == 10 * 4
|
|
30
|
-
|
|
31
|
-
# We explicit call checkpoint if checkpoint_mode is enabled covering
|
|
32
|
-
# cases like manual/periodic where checkpointing may be deferred.
|
|
33
|
-
parsl.dfk().checkpoint()
|
|
34
|
-
|
|
35
|
-
time.sleep(0.01) # Give enough time for task wipes to work
|
|
30
|
+
time.sleep(0.01) # Give enough time for task wipes to work - see issue #1279
|
|
36
31
|
assert x.tid not in parsl.dfk().tasks, "Task record should be wiped after task completion"
|
|
@@ -4,7 +4,17 @@ import pytest
|
|
|
4
4
|
|
|
5
5
|
import parsl
|
|
6
6
|
from parsl.app.app import python_app
|
|
7
|
-
from parsl.
|
|
7
|
+
from parsl.config import Config
|
|
8
|
+
from parsl.executors.threads import ThreadPoolExecutor
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def local_config():
|
|
12
|
+
return Config(
|
|
13
|
+
executors=[
|
|
14
|
+
ThreadPoolExecutor(max_threads=4),
|
|
15
|
+
],
|
|
16
|
+
app_cache=False
|
|
17
|
+
)
|
|
8
18
|
|
|
9
19
|
|
|
10
20
|
@python_app
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: parsl
|
|
3
|
-
Version: 2025.
|
|
3
|
+
Version: 2025.10.6
|
|
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/2025.
|
|
6
|
+
Download-URL: https://github.com/Parsl/parsl/archive/2025.10.06.tar.gz
|
|
7
7
|
Author: The Parsl Team
|
|
8
8
|
Author-email: parsl@googlegroups.com
|
|
9
9
|
License: Apache 2.0
|
|
@@ -241,7 +241,6 @@ parsl/tests/configs/local_threads_checkpoint_task_exit.py
|
|
|
241
241
|
parsl/tests/configs/local_threads_ftp_in_task.py
|
|
242
242
|
parsl/tests/configs/local_threads_globus.py
|
|
243
243
|
parsl/tests/configs/local_threads_http_in_task.py
|
|
244
|
-
parsl/tests/configs/local_threads_no_cache.py
|
|
245
244
|
parsl/tests/configs/midway.py
|
|
246
245
|
parsl/tests/configs/nscc_singapore.py
|
|
247
246
|
parsl/tests/configs/osg_htex.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
|
|
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-2025.9.29 → parsl-2025.10.6}/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
|