parsl 2024.9.2__tar.gz → 2024.9.16__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.9.2/parsl.egg-info → parsl-2024.9.16}/PKG-INFO +2 -2
- {parsl-2024.9.2 → parsl-2024.9.16}/README.rst +1 -4
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/executor.py +1 -17
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/taskvine/executor.py +6 -4
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/launchers/launchers.py +0 -6
- parsl-2024.9.16/parsl/tests/configs/slurm_local.py +26 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_htex.py +0 -12
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_mpi_apps/test_mpiex.py +1 -1
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_scaling/test_scale_down_htex_auto_scale.py +1 -1
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_scaling/test_scale_down_htex_unregistered.py +1 -1
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/version.py +1 -1
- {parsl-2024.9.2 → parsl-2024.9.16/parsl.egg-info}/PKG-INFO +2 -2
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl.egg-info/SOURCES.txt +1 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/LICENSE +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/MANIFEST.in +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/addresses.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/app/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/app/app.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/app/bash.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/app/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/app/futures.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/app/python.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/benchmark/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/benchmark/perf.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/base.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/local/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/local/local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/oauth_ssh/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/oauth_ssh/oauth_ssh.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/ssh/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/ssh/ssh.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/ssh_il/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/channels/ssh_il/ssh_il.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/concurrent/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/config.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/ASPIRE1.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/Azure.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/bridges.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/cc_in2p3.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/ec2.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/expanse.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/frontera.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/htex_local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/illinoiscluster.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/improv.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/kubernetes.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/local_threads.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/midway.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/osg.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/polaris.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/stampede2.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/summit.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/toss3_llnl.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/vineex_local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/configs/wqex_local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/curvezmq.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/data_provider/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/data_provider/data_manager.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/data_provider/file_noop.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/data_provider/files.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/data_provider/ftp.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/data_provider/globus.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/data_provider/http.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/data_provider/rsync.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/data_provider/staging.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/data_provider/zip.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/dataflow/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/dataflow/dependency_resolvers.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/dataflow/dflow.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/dataflow/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/dataflow/futures.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/dataflow/memoization.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/dataflow/rundirs.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/dataflow/states.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/dataflow/taskrecord.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/base.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/flux/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/flux/execute_parsl_task.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/flux/executor.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/flux/flux_instance_manager.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/interchange.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/manager_record.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/manager_selector.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/monitoring_info.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/mpi_executor.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/mpi_prefix_composer.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/mpi_resource_management.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/probe.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/process_worker_pool.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/high_throughput/zmq_pipes.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/radical/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/radical/executor.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/radical/rpex_resources.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/radical/rpex_worker.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/status_handling.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/taskvine/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/taskvine/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/taskvine/exec_parsl_function.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/taskvine/factory.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/taskvine/factory_config.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/taskvine/manager.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/taskvine/manager_config.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/taskvine/utils.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/threads.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/workqueue/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/workqueue/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/workqueue/exec_parsl_function.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/workqueue/executor.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/workqueue/parsl_coprocess.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/executors/workqueue/parsl_coprocess_stub.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/jobs/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/jobs/error_handlers.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/jobs/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/jobs/job_status_poller.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/jobs/states.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/jobs/strategy.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/launchers/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/launchers/base.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/launchers/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/log_utils.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/db_manager.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/message_type.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/monitoring.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/queries/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/queries/pandas.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/radios.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/remote.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/router.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/types.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/app.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/models.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/plots/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/plots/default/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/plots/default/task_plots.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/plots/default/workflow_plots.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/plots/default/workflow_resource_plots.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/static/parsl-logo-white.png +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/static/parsl-monitor.css +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/templates/app.html +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/templates/dag.html +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/templates/error.html +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/templates/layout.html +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/templates/resource_usage.html +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/templates/task.html +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/templates/workflow.html +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/templates/workflows_summary.html +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/utils.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/version.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/monitoring/visualization/views.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/multiprocessing.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/process_loggers.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/ad_hoc/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/ad_hoc/ad_hoc.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/aws/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/aws/aws.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/aws/template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/azure/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/azure/azure.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/azure/template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/base.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/cluster_provider.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/cobalt/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/cobalt/cobalt.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/cobalt/template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/condor/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/condor/condor.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/condor/template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/googlecloud/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/googlecloud/googlecloud.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/grid_engine/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/grid_engine/grid_engine.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/grid_engine/template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/kubernetes/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/kubernetes/kube.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/kubernetes/template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/local/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/local/local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/lsf/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/lsf/lsf.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/lsf/template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/pbspro/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/pbspro/pbspro.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/pbspro/template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/slurm/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/slurm/slurm.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/slurm/template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/torque/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/torque/template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/providers/torque/torque.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/py.typed +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/serialize/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/serialize/base.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/serialize/concretes.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/serialize/errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/serialize/facade.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/serialize/proxystore.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/callables_helper.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/azure_single_node.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/bluewaters.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/bridges.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/cc_in2p3.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/comet.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/cooley_htex.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/ec2_single_node.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/ec2_spot.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/flux_local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/frontera.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/htex_local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/htex_local_alternate.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/htex_local_intask_staging.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/htex_local_rsync_staging.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_adhoc.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_radical.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_radical_mpi.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_threads.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_threads_checkpoint.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_threads_checkpoint_dfk_exit.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_threads_checkpoint_periodic.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_threads_checkpoint_task_exit.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_threads_ftp_in_task.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_threads_globus.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_threads_http_in_task.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_threads_monitoring.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/local_threads_no_cache.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/midway.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/nscc_singapore.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/osg_htex.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/petrelkube.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/summit.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/taskvine_ex.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/theta.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/user_opts.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/configs/workqueue_ex.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/conftest.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/integration/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/integration/latency.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/integration/test_apps/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/integration/test_channels/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/integration/test_channels/test_channels.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/integration/test_channels/test_local_channel.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/integration/test_parsl_load_default_config.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/integration/test_stress/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/integration/test_stress/test_python_simple.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/integration/test_stress/test_python_threads.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/manual_tests/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/manual_tests/htex_local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/manual_tests/test_basic.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/manual_tests/test_fan_in_out_htex_remote.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/manual_tests/test_log_filter.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/manual_tests/test_memory_limits.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/manual_tests/test_regression_220.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/manual_tests/test_udp_simple.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/manual_tests/test_worker_count.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/scaling_tests/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/scaling_tests/htex_local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/scaling_tests/local_threads.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/scaling_tests/test_scale.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/scaling_tests/vineex_condor.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/scaling_tests/vineex_local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/scaling_tests/wqex_condor.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/scaling_tests/wqex_local.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/site_tests/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/site_tests/site_config_selector.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/site_tests/test_provider.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/site_tests/test_site.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/sites/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/sites/test_affinity.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/sites/test_concurrent.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/sites/test_dynamic_executor.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/sites/test_ec2.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/sites/test_launchers.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/sites/test_local_adhoc.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/sites/test_mpi/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/sites/test_worker_info.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_aalst_patterns.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_apptimeout.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_basic.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_error_codes.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_inputs_default.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_keyword_overlaps.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_kwarg_storage.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_memoize.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_memoize_ignore_args.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_multiline.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_pipeline.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_std_uri.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_bash_apps/test_stdout.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_callables.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_channels/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_channels/test_dfk_close.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_channels/test_large_output.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_checkpointing/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_checkpointing/test_periodic.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_checkpointing/test_python_checkpoint_1.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_checkpointing/test_python_checkpoint_2.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_checkpointing/test_python_checkpoint_3.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_checkpointing/test_regression_232.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_checkpointing/test_regression_233.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_checkpointing/test_regression_239.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_checkpointing/test_task_exit.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_curvezmq.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_docs/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_docs/test_from_slides.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_docs/test_kwargs.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_docs/test_tutorial_1.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_docs/test_workflow1.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_docs/test_workflow2.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_docs/test_workflow4.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_error_handling/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_error_handling/test_fail.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_error_handling/test_python_walltime.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_error_handling/test_rand_fail.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_error_handling/test_resource_spec.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_error_handling/test_retries.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_error_handling/test_retry_handler.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_error_handling/test_retry_handler_failure.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_error_handling/test_serialization_fail.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_error_handling/test_wrap_with_logs.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_flowcontrol/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_flux.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_basic.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_command_client_timeout.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_connected_blocks.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_cpu_affinity_explicit.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_disconnected_blocks.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_disconnected_blocks_failing_provider.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_drain.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_manager_failure.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_managers_command.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_missing_worker.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_multiple_disconnected_blocks.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_resource_spec_validation.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_worker_failure.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_htex/test_zmq_binding.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_monitoring/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_monitoring/test_app_names.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_monitoring/test_basic.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_monitoring/test_db_locks.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_monitoring/test_fuzz_zmq.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_monitoring/test_htex_init_blocks_vs_monitoring.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_monitoring/test_incomplete_futures.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_monitoring/test_memoization_representation.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_monitoring/test_stdouterr.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_monitoring/test_viz_colouring.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_mpi_apps/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_mpi_apps/test_bad_mpi_config.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_mpi_apps/test_mpi_prefix.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_mpi_apps/test_mpi_scheduler.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_mpi_apps/test_resource_spec.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_providers/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_providers/test_cobalt_deprecation_warning.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_providers/test_local_provider.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_providers/test_pbspro_template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_providers/test_slurm_instantiate.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_providers/test_slurm_template.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_providers/test_submiterror_deprecation.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_arg_input_types.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_basic.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_context_manager.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_dep_standard_futures.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_dependencies.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_dependencies_deep.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_depfail_propagation.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_fail.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_fibonacci_iterative.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_fibonacci_recursive.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_futures.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_garbage_collect.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_import_fail.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_inputs_default.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_join.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_lifted.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_mapred.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_memoize_1.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_memoize_2.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_memoize_4.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_memoize_bad_id_for_memo.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_memoize_ignore_args.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_memoize_joinapp.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_outputs.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_overview.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_pipeline.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_pluggable_future_resolution.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_simple.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_timeout.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_python_apps/test_type5.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_radical/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_radical/test_mpi_funcs.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/test_1480.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/test_1606_wait_for_current_tasks.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/test_1653.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/test_221.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/test_226.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/test_2652.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/test_69a.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/test_854.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/test_97_parallelism_0.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_regression/test_98.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_scaling/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_scaling/test_block_error_handler.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_scaling/test_regression_1621.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_scaling/test_regression_3568_scaledown_vs_MISSING.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_scaling/test_scale_down.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_scaling/test_shutdown_scalein.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_serialization/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_serialization/test_2555_caching_deserializer.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_serialization/test_3495_deserialize_managerlost.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_serialization/test_basic.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_serialization/test_htex_code_cache.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_serialization/test_pack_resource_spec.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_serialization/test_proxystore_configured.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_serialization/test_proxystore_impl.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_shutdown/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_shutdown/test_kill_monitoring.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/staging_provider.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_1316.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_docs_1.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_docs_2.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_elaborate_noop_file.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_file.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_file_apps.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_file_staging.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_output_chain_filenames.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_staging_ftp.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_staging_ftp_in_task.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_staging_globus.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_staging_https.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_staging_stdout.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_zip_in.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_zip_out.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_staging/test_zip_to_zip.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_summary.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_thread_parallelism.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_threads/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_threads/test_configs.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_threads/test_lazy_errors.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_utils/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/test_utils/test_representation_mixin.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/unit/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/unit/test_file.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/unit/test_usage_tracking.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/tests/utils.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/usage_tracking/__init__.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/usage_tracking/api.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/usage_tracking/levels.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/usage_tracking/usage.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl/utils.py +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl.egg-info/dependency_links.txt +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl.egg-info/entry_points.txt +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl.egg-info/requires.txt +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/parsl.egg-info/top_level.txt +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/requirements.txt +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/setup.cfg +0 -0
- {parsl-2024.9.2 → parsl-2024.9.16}/setup.py +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: parsl
|
3
|
-
Version: 2024.9.
|
3
|
+
Version: 2024.9.16
|
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.09.
|
6
|
+
Download-URL: https://github.com/Parsl/parsl/archive/2024.09.16.tar.gz
|
7
7
|
Author: The Parsl Team
|
8
8
|
Author-email: parsl@googlegroups.com
|
9
9
|
License: Apache 2.0
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Parsl - Parallel Scripting Library
|
2
2
|
==================================
|
3
|
-
|licence| |
|
3
|
+
|licence| |docs| |NSF-1550588| |NSF-1550476| |NSF-1550562| |NSF-1550528| |CZI-EOSS|
|
4
4
|
|
5
5
|
Parsl extends parallelism in Python beyond a single computer.
|
6
6
|
|
@@ -43,9 +43,6 @@ then explore the `parallel computing patterns <https://parsl.readthedocs.io/en/s
|
|
43
43
|
.. |licence| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
|
44
44
|
:target: https://github.com/Parsl/parsl/blob/master/LICENSE
|
45
45
|
:alt: Apache Licence V2.0
|
46
|
-
.. |build-status| image:: https://github.com/Parsl/parsl/actions/workflows/ci.yaml/badge.svg
|
47
|
-
:target: https://github.com/Parsl/parsl/actions/workflows/ci.yaml
|
48
|
-
:alt: Build status
|
49
46
|
.. |docs| image:: https://readthedocs.org/projects/parsl/badge/?version=stable
|
50
47
|
:target: http://parsl.readthedocs.io/en/stable/?badge=stable
|
51
48
|
:alt: Documentation Status
|
@@ -199,9 +199,6 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
199
199
|
will check the available memory at startup and limit the number of workers such that
|
200
200
|
the there's sufficient memory for each worker. Default: None
|
201
201
|
|
202
|
-
max_workers : int
|
203
|
-
Deprecated. Please use max_workers_per_node instead.
|
204
|
-
|
205
202
|
max_workers_per_node : int
|
206
203
|
Caps the number of workers launched per node. Default: None
|
207
204
|
|
@@ -239,7 +236,6 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
239
236
|
worker_debug: bool = False,
|
240
237
|
cores_per_worker: float = 1.0,
|
241
238
|
mem_per_worker: Optional[float] = None,
|
242
|
-
max_workers: Optional[Union[int, float]] = None,
|
243
239
|
max_workers_per_node: Optional[Union[int, float]] = None,
|
244
240
|
cpu_affinity: str = 'none',
|
245
241
|
available_accelerators: Union[int, Sequence[str]] = (),
|
@@ -272,9 +268,7 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
272
268
|
else:
|
273
269
|
self.all_addresses = ','.join(get_all_addresses())
|
274
270
|
|
275
|
-
|
276
|
-
self._warn_deprecated("max_workers", "max_workers_per_node")
|
277
|
-
self.max_workers_per_node = max_workers_per_node or max_workers or float("inf")
|
271
|
+
self.max_workers_per_node = max_workers_per_node or float("inf")
|
278
272
|
|
279
273
|
mem_slots = self.max_workers_per_node
|
280
274
|
cpu_slots = self.max_workers_per_node
|
@@ -335,16 +329,6 @@ class HighThroughputExecutor(BlockProviderExecutor, RepresentationMixin, UsageIn
|
|
335
329
|
stacklevel=2
|
336
330
|
)
|
337
331
|
|
338
|
-
@property
|
339
|
-
def max_workers(self):
|
340
|
-
self._warn_deprecated("max_workers", "max_workers_per_node")
|
341
|
-
return self.max_workers_per_node
|
342
|
-
|
343
|
-
@max_workers.setter
|
344
|
-
def max_workers(self, val: Union[int, float]):
|
345
|
-
self._warn_deprecated("max_workers", "max_workers_per_node")
|
346
|
-
self.max_workers_per_node = val
|
347
|
-
|
348
332
|
@property
|
349
333
|
def logdir(self):
|
350
334
|
return "{}/{}".format(self.run_dir, self.label)
|
@@ -3,6 +3,7 @@ Cooperative Computing Lab (CCL) at Notre Dame to provide a fault-tolerant,
|
|
3
3
|
high-throughput system for delegating Parsl tasks to thousands of remote machines
|
4
4
|
"""
|
5
5
|
|
6
|
+
import getpass
|
6
7
|
import hashlib
|
7
8
|
import inspect
|
8
9
|
import itertools
|
@@ -18,6 +19,7 @@ import tempfile
|
|
18
19
|
import threading
|
19
20
|
import uuid
|
20
21
|
from concurrent.futures import Future
|
22
|
+
from datetime import datetime
|
21
23
|
from typing import List, Literal, Optional, Union
|
22
24
|
|
23
25
|
# Import other libraries
|
@@ -215,9 +217,9 @@ class TaskVineExecutor(BlockProviderExecutor, putils.RepresentationMixin):
|
|
215
217
|
|
216
218
|
# Create directories for data and results
|
217
219
|
log_dir = os.path.join(run_dir, self.label)
|
218
|
-
self._function_data_dir = os.path.join(run_dir, self.label, "function_data")
|
219
220
|
os.makedirs(log_dir)
|
220
|
-
|
221
|
+
tmp_prefix = f'{self.label}-{getpass.getuser()}-{datetime.now().strftime("%Y%m%d%H%M%S%f")}-'
|
222
|
+
self._function_data_dir = tempfile.TemporaryDirectory(prefix=tmp_prefix)
|
221
223
|
|
222
224
|
# put TaskVine logs outside of a Parsl run as TaskVine caches between runs while
|
223
225
|
# Parsl does not.
|
@@ -227,7 +229,7 @@ class TaskVineExecutor(BlockProviderExecutor, putils.RepresentationMixin):
|
|
227
229
|
|
228
230
|
# factory logs go with manager logs regardless
|
229
231
|
self.factory_config.scratch_dir = self.manager_config.vine_log_dir
|
230
|
-
logger.debug(f"Function data directory: {self._function_data_dir}, log directory: {log_dir}")
|
232
|
+
logger.debug(f"Function data directory: {self._function_data_dir.name}, log directory: {log_dir}")
|
231
233
|
logger.debug(
|
232
234
|
f"TaskVine manager log directory: {self.manager_config.vine_log_dir}, "
|
233
235
|
f"factory log directory: {self.factory_config.scratch_dir}")
|
@@ -293,7 +295,7 @@ class TaskVineExecutor(BlockProviderExecutor, putils.RepresentationMixin):
|
|
293
295
|
'map': Pickled file with a dict between local parsl names, and remote taskvine names.
|
294
296
|
"""
|
295
297
|
task_dir = "{:04d}".format(executor_task_id)
|
296
|
-
return os.path.join(self._function_data_dir, task_dir, *path_components)
|
298
|
+
return os.path.join(self._function_data_dir.name, task_dir, *path_components)
|
297
299
|
|
298
300
|
def submit(self, func, resource_specification, *args, **kwargs):
|
299
301
|
"""Processes the Parsl app by its arguments and submits the function
|
@@ -61,7 +61,6 @@ class SingleNodeLauncher(Launcher):
|
|
61
61
|
"""
|
62
62
|
Args:
|
63
63
|
- command (string): The command string to be launched
|
64
|
-
- task_block (string) : bash evaluated string.
|
65
64
|
- fail_on_any: If True, return a nonzero exit code if any worker failed, otherwise zero;
|
66
65
|
if False, return a nonzero exit code if all workers failed, otherwise zero.
|
67
66
|
|
@@ -131,7 +130,6 @@ class GnuParallelLauncher(Launcher):
|
|
131
130
|
"""
|
132
131
|
Args:
|
133
132
|
- command (string): The command string to be launched
|
134
|
-
- task_block (string) : bash evaluated string.
|
135
133
|
|
136
134
|
"""
|
137
135
|
task_blocks = tasks_per_node * nodes_per_block
|
@@ -208,7 +206,6 @@ class MpiExecLauncher(Launcher):
|
|
208
206
|
"""
|
209
207
|
Args:
|
210
208
|
- command (string): The command string to be launched
|
211
|
-
- task_block (string) : bash evaluated string.
|
212
209
|
|
213
210
|
"""
|
214
211
|
task_blocks = tasks_per_node * nodes_per_block
|
@@ -263,7 +260,6 @@ class MpiRunLauncher(Launcher):
|
|
263
260
|
"""
|
264
261
|
Args:
|
265
262
|
- command (string): The command string to be launched
|
266
|
-
- task_block (string) : bash evaluated string.
|
267
263
|
|
268
264
|
"""
|
269
265
|
task_blocks = tasks_per_node * nodes_per_block
|
@@ -311,7 +307,6 @@ class SrunLauncher(Launcher):
|
|
311
307
|
"""
|
312
308
|
Args:
|
313
309
|
- command (string): The command string to be launched
|
314
|
-
- task_block (string) : bash evaluated string.
|
315
310
|
|
316
311
|
"""
|
317
312
|
task_blocks = tasks_per_node * nodes_per_block
|
@@ -363,7 +358,6 @@ class SrunMPILauncher(Launcher):
|
|
363
358
|
"""
|
364
359
|
Args:
|
365
360
|
- command (string): The command string to be launched
|
366
|
-
- task_block (string) : bash evaluated string.
|
367
361
|
|
368
362
|
"""
|
369
363
|
task_blocks = tasks_per_node * nodes_per_block
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from parsl.channels import LocalChannel
|
2
|
+
from parsl.config import Config
|
3
|
+
from parsl.executors import HighThroughputExecutor
|
4
|
+
from parsl.launchers import SrunLauncher
|
5
|
+
from parsl.providers import SlurmProvider
|
6
|
+
|
7
|
+
|
8
|
+
def fresh_config():
|
9
|
+
return Config(
|
10
|
+
executors=[
|
11
|
+
HighThroughputExecutor(
|
12
|
+
label="docker_slurm",
|
13
|
+
encrypted=True,
|
14
|
+
provider=SlurmProvider(
|
15
|
+
cmd_timeout=60, # Add extra time for slow scheduler responses
|
16
|
+
channel=LocalChannel(),
|
17
|
+
nodes_per_block=1,
|
18
|
+
init_blocks=1,
|
19
|
+
min_blocks=1,
|
20
|
+
max_blocks=1,
|
21
|
+
walltime='00:10:00',
|
22
|
+
launcher=SrunLauncher(),
|
23
|
+
),
|
24
|
+
)
|
25
|
+
],
|
26
|
+
)
|
@@ -126,18 +126,6 @@ def test_htex_shutdown(
|
|
126
126
|
assert "HighThroughputExecutor has not started" in caplog.text
|
127
127
|
|
128
128
|
|
129
|
-
@pytest.mark.local
|
130
|
-
def test_max_workers_per_node():
|
131
|
-
with pytest.warns(DeprecationWarning) as record:
|
132
|
-
htex = HighThroughputExecutor(max_workers_per_node=1, max_workers=2)
|
133
|
-
|
134
|
-
warning_msg = "max_workers is deprecated"
|
135
|
-
assert any(warning_msg in str(warning.message) for warning in record)
|
136
|
-
|
137
|
-
# Ensure max_workers_per_node takes precedence
|
138
|
-
assert htex.max_workers_per_node == htex.max_workers == 1
|
139
|
-
|
140
|
-
|
141
129
|
@pytest.mark.local
|
142
130
|
@pytest.mark.parametrize("cmd", (None, "custom-launch-cmd"))
|
143
131
|
def test_htex_worker_pool_launch_cmd(cmd: Optional[str]):
|
@@ -43,7 +43,7 @@ def test_init():
|
|
43
43
|
|
44
44
|
new_kwargs = {'max_workers_per_block', 'mpi_launcher'}
|
45
45
|
excluded_kwargs = {'available_accelerators', 'cores_per_worker', 'max_workers_per_node',
|
46
|
-
'mem_per_worker', 'cpu_affinity', '
|
46
|
+
'mem_per_worker', 'cpu_affinity', 'manager_selector'}
|
47
47
|
|
48
48
|
# Get the kwargs from both HTEx and MPIEx
|
49
49
|
htex_kwargs = set(signature(HighThroughputExecutor.__init__).parameters)
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: parsl
|
3
|
-
Version: 2024.9.
|
3
|
+
Version: 2024.9.16
|
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.09.
|
6
|
+
Download-URL: https://github.com/Parsl/parsl/archive/2024.09.16.tar.gz
|
7
7
|
Author: The Parsl Team
|
8
8
|
Author-email: parsl@googlegroups.com
|
9
9
|
License: Apache 2.0
|
@@ -251,6 +251,7 @@ parsl/tests/configs/midway.py
|
|
251
251
|
parsl/tests/configs/nscc_singapore.py
|
252
252
|
parsl/tests/configs/osg_htex.py
|
253
253
|
parsl/tests/configs/petrelkube.py
|
254
|
+
parsl/tests/configs/slurm_local.py
|
254
255
|
parsl/tests/configs/summit.py
|
255
256
|
parsl/tests/configs/taskvine_ex.py
|
256
257
|
parsl/tests/configs/theta.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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{parsl-2024.9.2 → parsl-2024.9.16}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|