toil 5.12.0__py3-none-any.whl → 6.1.0__py3-none-any.whl
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.
- toil/__init__.py +18 -13
- toil/batchSystems/abstractBatchSystem.py +39 -13
- toil/batchSystems/abstractGridEngineBatchSystem.py +24 -24
- toil/batchSystems/awsBatch.py +14 -14
- toil/batchSystems/cleanup_support.py +7 -3
- toil/batchSystems/contained_executor.py +3 -3
- toil/batchSystems/htcondor.py +0 -1
- toil/batchSystems/kubernetes.py +34 -31
- toil/batchSystems/local_support.py +3 -1
- toil/batchSystems/lsf.py +7 -7
- toil/batchSystems/mesos/batchSystem.py +7 -7
- toil/batchSystems/options.py +32 -83
- toil/batchSystems/registry.py +104 -23
- toil/batchSystems/singleMachine.py +16 -13
- toil/batchSystems/slurm.py +87 -16
- toil/batchSystems/torque.py +0 -1
- toil/bus.py +44 -8
- toil/common.py +544 -753
- toil/cwl/__init__.py +28 -32
- toil/cwl/cwltoil.py +595 -574
- toil/cwl/utils.py +55 -10
- toil/exceptions.py +1 -1
- toil/fileStores/__init__.py +2 -2
- toil/fileStores/abstractFileStore.py +88 -14
- toil/fileStores/cachingFileStore.py +610 -549
- toil/fileStores/nonCachingFileStore.py +46 -22
- toil/job.py +182 -101
- toil/jobStores/abstractJobStore.py +161 -95
- toil/jobStores/aws/jobStore.py +23 -9
- toil/jobStores/aws/utils.py +6 -6
- toil/jobStores/fileJobStore.py +116 -18
- toil/jobStores/googleJobStore.py +16 -7
- toil/jobStores/utils.py +5 -6
- toil/leader.py +87 -56
- toil/lib/accelerators.py +10 -5
- toil/lib/aws/__init__.py +3 -14
- toil/lib/aws/ami.py +22 -9
- toil/lib/aws/iam.py +21 -13
- toil/lib/aws/session.py +2 -16
- toil/lib/aws/utils.py +4 -5
- toil/lib/compatibility.py +1 -1
- toil/lib/conversions.py +26 -3
- toil/lib/docker.py +22 -23
- toil/lib/ec2.py +10 -6
- toil/lib/ec2nodes.py +106 -100
- toil/lib/encryption/_nacl.py +2 -1
- toil/lib/generatedEC2Lists.py +325 -18
- toil/lib/io.py +49 -2
- toil/lib/misc.py +1 -1
- toil/lib/resources.py +9 -2
- toil/lib/threading.py +101 -38
- toil/options/common.py +736 -0
- toil/options/cwl.py +336 -0
- toil/options/wdl.py +37 -0
- toil/provisioners/abstractProvisioner.py +9 -4
- toil/provisioners/aws/__init__.py +3 -6
- toil/provisioners/aws/awsProvisioner.py +6 -0
- toil/provisioners/clusterScaler.py +3 -2
- toil/provisioners/gceProvisioner.py +2 -2
- toil/realtimeLogger.py +2 -1
- toil/resource.py +24 -18
- toil/server/app.py +2 -3
- toil/server/cli/wes_cwl_runner.py +4 -4
- toil/server/utils.py +1 -1
- toil/server/wes/abstract_backend.py +3 -2
- toil/server/wes/amazon_wes_utils.py +5 -4
- toil/server/wes/tasks.py +2 -3
- toil/server/wes/toil_backend.py +2 -10
- toil/server/wsgi_app.py +2 -0
- toil/serviceManager.py +12 -10
- toil/statsAndLogging.py +41 -9
- toil/test/__init__.py +29 -54
- toil/test/batchSystems/batchSystemTest.py +11 -111
- toil/test/batchSystems/test_slurm.py +24 -8
- toil/test/cactus/__init__.py +0 -0
- toil/test/cactus/test_cactus_integration.py +58 -0
- toil/test/cwl/cwlTest.py +438 -223
- toil/test/cwl/glob_dir.cwl +15 -0
- toil/test/cwl/preemptible.cwl +21 -0
- toil/test/cwl/preemptible_expression.cwl +28 -0
- toil/test/cwl/revsort.cwl +1 -1
- toil/test/cwl/revsort2.cwl +1 -1
- toil/test/docs/scriptsTest.py +2 -3
- toil/test/jobStores/jobStoreTest.py +34 -21
- toil/test/lib/aws/test_iam.py +4 -14
- toil/test/lib/aws/test_utils.py +0 -3
- toil/test/lib/dockerTest.py +4 -4
- toil/test/lib/test_ec2.py +12 -17
- toil/test/mesos/helloWorld.py +4 -5
- toil/test/mesos/stress.py +1 -1
- toil/test/{wdl/conftest.py → options/__init__.py} +0 -10
- toil/test/options/options.py +37 -0
- toil/test/provisioners/aws/awsProvisionerTest.py +9 -5
- toil/test/provisioners/clusterScalerTest.py +6 -4
- toil/test/provisioners/clusterTest.py +23 -11
- toil/test/provisioners/gceProvisionerTest.py +0 -6
- toil/test/provisioners/restartScript.py +3 -2
- toil/test/server/serverTest.py +1 -1
- toil/test/sort/restart_sort.py +2 -1
- toil/test/sort/sort.py +2 -1
- toil/test/sort/sortTest.py +2 -13
- toil/test/src/autoDeploymentTest.py +45 -45
- toil/test/src/busTest.py +5 -5
- toil/test/src/checkpointTest.py +2 -2
- toil/test/src/deferredFunctionTest.py +1 -1
- toil/test/src/fileStoreTest.py +32 -16
- toil/test/src/helloWorldTest.py +1 -1
- toil/test/src/importExportFileTest.py +1 -1
- toil/test/src/jobDescriptionTest.py +2 -1
- toil/test/src/jobServiceTest.py +1 -1
- toil/test/src/jobTest.py +18 -18
- toil/test/src/miscTests.py +5 -3
- toil/test/src/promisedRequirementTest.py +3 -3
- toil/test/src/realtimeLoggerTest.py +1 -1
- toil/test/src/resourceTest.py +2 -2
- toil/test/src/restartDAGTest.py +1 -1
- toil/test/src/resumabilityTest.py +36 -2
- toil/test/src/retainTempDirTest.py +1 -1
- toil/test/src/systemTest.py +2 -2
- toil/test/src/toilContextManagerTest.py +2 -2
- toil/test/src/userDefinedJobArgTypeTest.py +1 -1
- toil/test/utils/toilDebugTest.py +98 -32
- toil/test/utils/toilKillTest.py +2 -2
- toil/test/utils/utilsTest.py +23 -3
- toil/test/wdl/wdltoil_test.py +223 -45
- toil/toilState.py +7 -6
- toil/utils/toilClean.py +1 -1
- toil/utils/toilConfig.py +36 -0
- toil/utils/toilDebugFile.py +60 -33
- toil/utils/toilDebugJob.py +39 -12
- toil/utils/toilDestroyCluster.py +1 -1
- toil/utils/toilKill.py +1 -1
- toil/utils/toilLaunchCluster.py +13 -2
- toil/utils/toilMain.py +3 -2
- toil/utils/toilRsyncCluster.py +1 -1
- toil/utils/toilSshCluster.py +1 -1
- toil/utils/toilStats.py +445 -305
- toil/utils/toilStatus.py +2 -5
- toil/version.py +10 -10
- toil/wdl/utils.py +2 -122
- toil/wdl/wdltoil.py +1257 -492
- toil/worker.py +55 -46
- toil-6.1.0.dist-info/METADATA +124 -0
- toil-6.1.0.dist-info/RECORD +241 -0
- {toil-5.12.0.dist-info → toil-6.1.0.dist-info}/WHEEL +1 -1
- {toil-5.12.0.dist-info → toil-6.1.0.dist-info}/entry_points.txt +0 -1
- toil/batchSystems/parasol.py +0 -379
- toil/batchSystems/tes.py +0 -459
- toil/test/batchSystems/parasolTestSupport.py +0 -117
- toil/test/wdl/builtinTest.py +0 -506
- toil/test/wdl/toilwdlTest.py +0 -522
- toil/wdl/toilwdl.py +0 -141
- toil/wdl/versions/dev.py +0 -107
- toil/wdl/versions/draft2.py +0 -980
- toil/wdl/versions/v1.py +0 -794
- toil/wdl/wdl_analysis.py +0 -116
- toil/wdl/wdl_functions.py +0 -997
- toil/wdl/wdl_synthesis.py +0 -1011
- toil/wdl/wdl_types.py +0 -243
- toil-5.12.0.dist-info/METADATA +0 -118
- toil-5.12.0.dist-info/RECORD +0 -244
- /toil/{wdl/versions → options}/__init__.py +0 -0
- {toil-5.12.0.dist-info → toil-6.1.0.dist-info}/LICENSE +0 -0
- {toil-5.12.0.dist-info → toil-6.1.0.dist-info}/top_level.txt +0 -0
toil/worker.py
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
import argparse
|
|
15
14
|
import base64
|
|
16
15
|
import copy
|
|
17
16
|
import json
|
|
@@ -29,6 +28,8 @@ import traceback
|
|
|
29
28
|
from contextlib import contextmanager
|
|
30
29
|
from typing import Any, Callable, Iterator, List, Optional
|
|
31
30
|
|
|
31
|
+
from configargparse import ArgParser
|
|
32
|
+
|
|
32
33
|
from toil import logProcessContext
|
|
33
34
|
from toil.common import Config, Toil, safeUnpickleFromStream
|
|
34
35
|
from toil.cwl.utils import (CWL_UNSUPPORTED_REQUIREMENT_EXCEPTION,
|
|
@@ -49,7 +50,7 @@ logger = logging.getLogger(__name__)
|
|
|
49
50
|
class StatsDict(MagicExpando):
|
|
50
51
|
"""Subclass of MagicExpando for type-checking purposes."""
|
|
51
52
|
|
|
52
|
-
jobs: List[
|
|
53
|
+
jobs: List[MagicExpando]
|
|
53
54
|
|
|
54
55
|
|
|
55
56
|
def nextChainable(predecessor: JobDescription, jobStore: AbstractJobStore, config: Config) -> Optional[JobDescription]:
|
|
@@ -222,7 +223,8 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
222
223
|
#Setup the temporary directories.
|
|
223
224
|
##########################################
|
|
224
225
|
# Dir to put all this worker's temp files in.
|
|
225
|
-
|
|
226
|
+
if config.workflowID is None:
|
|
227
|
+
raise RuntimeError("The worker workflow ID was never set.")
|
|
226
228
|
toilWorkflowDir = Toil.getLocalWorkflowDir(config.workflowID, config.workDir)
|
|
227
229
|
# Dir to put lock files in, ideally not on NFS.
|
|
228
230
|
toil_coordination_dir = Toil.get_local_workflow_coordination_dir(config.workflowID, config.workDir, config.coordination_dir)
|
|
@@ -250,8 +252,8 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
250
252
|
|
|
251
253
|
if redirectOutputToLogFile:
|
|
252
254
|
# Announce that we are redirecting logging, and where it will now go.
|
|
253
|
-
# This is important if we are trying to manually trace a faulty worker invocation.
|
|
254
|
-
logger.
|
|
255
|
+
# This is only important if we are trying to manually trace a faulty worker invocation.
|
|
256
|
+
logger.debug("Redirecting logging to %s", tempWorkerLogPath)
|
|
255
257
|
sys.stdout.flush()
|
|
256
258
|
sys.stderr.flush()
|
|
257
259
|
|
|
@@ -285,13 +287,14 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
285
287
|
|
|
286
288
|
jobAttemptFailed = False
|
|
287
289
|
failure_exit_code = 1
|
|
290
|
+
first_job_cores = None
|
|
288
291
|
statsDict = StatsDict() # type: ignore[no-untyped-call]
|
|
289
292
|
statsDict.jobs = []
|
|
290
|
-
statsDict.workers.
|
|
293
|
+
statsDict.workers.logs_to_leader = []
|
|
294
|
+
statsDict.workers.logging_user_streams = []
|
|
291
295
|
|
|
292
296
|
def blockFn() -> bool:
|
|
293
297
|
return True
|
|
294
|
-
listOfJobs = [jobName]
|
|
295
298
|
job = None
|
|
296
299
|
try:
|
|
297
300
|
|
|
@@ -311,7 +314,6 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
311
314
|
##########################################
|
|
312
315
|
|
|
313
316
|
jobDesc = jobStore.load_job(jobStoreID)
|
|
314
|
-
listOfJobs[0] = str(jobDesc)
|
|
315
317
|
logger.debug("Parsed job description")
|
|
316
318
|
|
|
317
319
|
##########################################
|
|
@@ -345,7 +347,8 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
345
347
|
if next(jobDesc.successorsAndServiceHosts(), None) is not None:
|
|
346
348
|
logger.debug("Checkpoint has failed; restoring")
|
|
347
349
|
# Reduce the try count
|
|
348
|
-
|
|
350
|
+
if jobDesc.remainingTryCount < 0:
|
|
351
|
+
raise RuntimeError("The try count of the job cannot be negative.")
|
|
349
352
|
jobDesc.remainingTryCount = max(0, jobDesc.remainingTryCount - 1)
|
|
350
353
|
jobDesc.restartCheckpoint(jobStore)
|
|
351
354
|
# Otherwise, the job and successors are done, and we can cleanup stuff we couldn't clean
|
|
@@ -360,6 +363,8 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
360
363
|
##########################################
|
|
361
364
|
|
|
362
365
|
if config.stats:
|
|
366
|
+
# Remember the cores from the first job, which is how many we have reserved for us.
|
|
367
|
+
statsDict.workers.requested_cores = jobDesc.cores
|
|
363
368
|
startClock = get_total_cpu_time()
|
|
364
369
|
|
|
365
370
|
startTime = time.time()
|
|
@@ -371,7 +376,8 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
371
376
|
logger.info("Working on job %s", jobDesc)
|
|
372
377
|
|
|
373
378
|
if jobDesc.command is not None:
|
|
374
|
-
|
|
379
|
+
if not jobDesc.command.startswith("_toil "):
|
|
380
|
+
raise RuntimeError("Job command must start with '_toil' before being converted to an executable command.")
|
|
375
381
|
logger.debug("Got a command to run: %s" % jobDesc.command)
|
|
376
382
|
# Load the job. It will use the same JobDescription we have been using.
|
|
377
383
|
job = Job.loadJob(jobStore, jobDesc)
|
|
@@ -402,8 +408,13 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
402
408
|
# versions of Cactus.
|
|
403
409
|
job._runner(jobGraph=None, jobStore=jobStore, fileStore=fileStore, defer=defer)
|
|
404
410
|
|
|
411
|
+
# When the executor for the job finishes it will
|
|
412
|
+
# kick off a commit with the command link to the
|
|
413
|
+
# job body cut.
|
|
414
|
+
|
|
405
415
|
# Accumulate messages from this job & any subsequent chained jobs
|
|
406
|
-
statsDict.workers.
|
|
416
|
+
statsDict.workers.logs_to_leader += fileStore.logging_messages
|
|
417
|
+
statsDict.workers.logging_user_streams += fileStore.logging_user_streams
|
|
407
418
|
|
|
408
419
|
logger.info("Completed body for %s", jobDesc)
|
|
409
420
|
|
|
@@ -426,7 +437,7 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
426
437
|
|
|
427
438
|
logger.info("Not chaining from job %s", jobDesc)
|
|
428
439
|
|
|
429
|
-
#
|
|
440
|
+
# No need to commit because the _executor context manager did it.
|
|
430
441
|
|
|
431
442
|
break
|
|
432
443
|
|
|
@@ -434,33 +445,25 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
434
445
|
|
|
435
446
|
##########################################
|
|
436
447
|
# We have a single successor job that is not a checkpoint job. We
|
|
437
|
-
# reassign the ID of the current JobDescription to the successor
|
|
438
|
-
#
|
|
439
|
-
#
|
|
440
|
-
# current one.
|
|
448
|
+
# reassign the ID of the current JobDescription to the successor,
|
|
449
|
+
# and take responsibility for both jobs' associated files in the
|
|
450
|
+
# combined job.
|
|
441
451
|
##########################################
|
|
442
452
|
|
|
443
453
|
# Make sure nothing has gone wrong and we can really chain
|
|
444
|
-
|
|
445
|
-
|
|
454
|
+
if jobDesc.memory < successor.memory:
|
|
455
|
+
raise RuntimeError("Cannot chain jobs. A job's memory cannot be less than it's successor.")
|
|
456
|
+
if jobDesc.cores < successor.cores:
|
|
457
|
+
raise RuntimeError("Cannot chain jobs. A job's cores cannot be less than it's successor.")
|
|
446
458
|
|
|
447
459
|
# Save the successor's original ID, so we can clean it (and its
|
|
448
460
|
# body) up after we finish executing it.
|
|
449
461
|
successorID = successor.jobStoreID
|
|
450
462
|
|
|
451
|
-
# add the successor to the list of jobs run
|
|
452
|
-
listOfJobs.append(str(successor))
|
|
453
|
-
|
|
454
463
|
# Now we need to become that successor, under the original ID.
|
|
455
464
|
successor.replace(jobDesc)
|
|
456
465
|
jobDesc = successor
|
|
457
466
|
|
|
458
|
-
# Problem: successor's job body is a file that will be cleaned up
|
|
459
|
-
# when we delete the successor job by ID. We can't just move it. So
|
|
460
|
-
# we need to roll up the deletion of the successor job by ID with
|
|
461
|
-
# the deletion of the job ID we're currently working on.
|
|
462
|
-
jobDesc.jobsToDelete.append(successorID)
|
|
463
|
-
|
|
464
467
|
# Clone the now-current JobDescription (which used to be the successor).
|
|
465
468
|
# TODO: Why??? Can we not?
|
|
466
469
|
jobDesc = copy.deepcopy(jobDesc)
|
|
@@ -476,15 +479,6 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
476
479
|
# This will update the job once the previous job is done updating
|
|
477
480
|
fileStore.startCommit(jobState=True)
|
|
478
481
|
|
|
479
|
-
# Clone the current job description again, so that further updates
|
|
480
|
-
# to it (such as new successors being added when it runs) occur
|
|
481
|
-
# after the commit process we just kicked off, and aren't committed
|
|
482
|
-
# early or partially.
|
|
483
|
-
jobDesc = copy.deepcopy(jobDesc)
|
|
484
|
-
# Bump its version since saving will do that too and we don't want duplicate versions.
|
|
485
|
-
jobDesc.pre_update_hook()
|
|
486
|
-
|
|
487
|
-
|
|
488
482
|
logger.debug("Starting the next job")
|
|
489
483
|
|
|
490
484
|
##########################################
|
|
@@ -495,6 +489,16 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
495
489
|
statsDict.workers.time = str(time.time() - startTime)
|
|
496
490
|
statsDict.workers.clock = str(totalCPUTime - startClock)
|
|
497
491
|
statsDict.workers.memory = str(totalMemoryUsage)
|
|
492
|
+
# Say the worker used the max disk we saw from any job
|
|
493
|
+
max_bytes = 0
|
|
494
|
+
for job_stats in statsDict.jobs:
|
|
495
|
+
if "disk" in job_stats:
|
|
496
|
+
max_bytes = max(max_bytes, int(job_stats.disk))
|
|
497
|
+
statsDict.workers.disk = str(max_bytes)
|
|
498
|
+
# Count the jobs executed.
|
|
499
|
+
# TODO: toil stats could compute this but its parser is too general to hook into simply.
|
|
500
|
+
statsDict.workers.jobs_run = len(statsDict.jobs)
|
|
501
|
+
|
|
498
502
|
|
|
499
503
|
# log the worker log path here so that if the file is truncated the path can still be found
|
|
500
504
|
if redirectOutputToLogFile:
|
|
@@ -505,13 +509,16 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
505
509
|
##########################################
|
|
506
510
|
#Trapping where worker goes wrong
|
|
507
511
|
##########################################
|
|
508
|
-
except
|
|
512
|
+
except BaseException as e: #Case that something goes wrong in worker, or we are asked to stop
|
|
509
513
|
traceback.print_exc()
|
|
510
514
|
logger.error("Exiting the worker because of a failed job on host %s", socket.gethostname())
|
|
511
515
|
if isinstance(e, CWL_UNSUPPORTED_REQUIREMENT_EXCEPTION):
|
|
512
516
|
# We need to inform the leader that this is a CWL workflow problem
|
|
513
517
|
# and it needs to inform its caller.
|
|
514
518
|
failure_exit_code = CWL_UNSUPPORTED_REQUIREMENT_EXIT_CODE
|
|
519
|
+
elif isinstance(e, SystemExit) and isinstance(e.code, int) and e.code != 0:
|
|
520
|
+
# We're meant to be exiting with a particular code.
|
|
521
|
+
failure_exit_code = e.code
|
|
515
522
|
AbstractFileStore._terminateEvent.set()
|
|
516
523
|
finally:
|
|
517
524
|
# Get rid of our deferred function manager now so we can't mistake it
|
|
@@ -587,7 +594,6 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
587
594
|
jobDesc.logJobStoreFileID = logJobStoreFileID = jobStore.getEmptyFileStoreID(
|
|
588
595
|
jobDesc.jobStoreID, cleanup=True
|
|
589
596
|
)
|
|
590
|
-
jobDesc.chainedJobs = listOfJobs
|
|
591
597
|
with jobStore.update_file_stream(logJobStoreFileID) as w:
|
|
592
598
|
with open(tempWorkerLogPath, 'rb') as f:
|
|
593
599
|
if os.path.getsize(tempWorkerLogPath) > logFileByteReportLimit !=0:
|
|
@@ -611,10 +617,13 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
611
617
|
# Make sure lines are Unicode so they can be JSON serialized as part of the dict.
|
|
612
618
|
# We may have damaged the Unicode text by cutting it at an arbitrary byte so we drop bad characters.
|
|
613
619
|
logMessages = [line.decode('utf-8', 'skip') for line in logFile.read().splitlines()]
|
|
614
|
-
statsDict.logs.names =
|
|
620
|
+
statsDict.logs.names = [names.stats_name for names in jobDesc.get_chain()]
|
|
615
621
|
statsDict.logs.messages = logMessages
|
|
616
622
|
|
|
617
|
-
if
|
|
623
|
+
if debugging or config.stats or statsDict.workers.logs_to_leader or statsDict.workers.logging_user_streams:
|
|
624
|
+
# We have stats/logging to report back.
|
|
625
|
+
# We report even if the job attempt failed.
|
|
626
|
+
# TODO: Will that upset analysis of the stats?
|
|
618
627
|
jobStore.write_logs(json.dumps(statsDict, ensure_ascii=True))
|
|
619
628
|
|
|
620
629
|
# Remove the temp dir
|
|
@@ -637,17 +646,17 @@ def workerScript(jobStore: AbstractJobStore, config: Config, jobName: str, jobSt
|
|
|
637
646
|
|
|
638
647
|
# This must happen after the log file is done with, else there is no place to put the log
|
|
639
648
|
if (not jobAttemptFailed) and jobDesc.is_subtree_done():
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
jobStore.delete_job(
|
|
643
|
-
|
|
649
|
+
for merged_in in jobDesc.get_chain():
|
|
650
|
+
# We can now safely get rid of the JobDescription, and all jobs it chained up
|
|
651
|
+
jobStore.delete_job(merged_in.job_store_id)
|
|
652
|
+
|
|
644
653
|
|
|
645
654
|
if jobAttemptFailed:
|
|
646
655
|
return failure_exit_code
|
|
647
656
|
else:
|
|
648
657
|
return 0
|
|
649
658
|
|
|
650
|
-
def parse_args(args: List[str]) ->
|
|
659
|
+
def parse_args(args: List[str]) -> Any:
|
|
651
660
|
"""
|
|
652
661
|
Parse command-line arguments to the worker.
|
|
653
662
|
"""
|
|
@@ -656,7 +665,7 @@ def parse_args(args: List[str]) -> argparse.Namespace:
|
|
|
656
665
|
args = args[1:]
|
|
657
666
|
|
|
658
667
|
# Make the parser
|
|
659
|
-
parser =
|
|
668
|
+
parser = ArgParser()
|
|
660
669
|
|
|
661
670
|
# Now add all the options to it
|
|
662
671
|
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: toil
|
|
3
|
+
Version: 6.1.0
|
|
4
|
+
Summary: Pipeline management software for clusters.
|
|
5
|
+
Home-page: https://github.com/DataBiosphere/toil
|
|
6
|
+
Author: Benedict Paten and the Toil community
|
|
7
|
+
Author-email: toil-community@googlegroups.com
|
|
8
|
+
License: Apache License v2.0
|
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
|
+
Classifier: Environment :: Console
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Intended Audience :: Healthcare Industry
|
|
14
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
15
|
+
Classifier: Natural Language :: English
|
|
16
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
17
|
+
Classifier: Operating System :: POSIX
|
|
18
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Topic :: Scientific/Engineering
|
|
24
|
+
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
25
|
+
Classifier: Topic :: Scientific/Engineering :: Astronomy
|
|
26
|
+
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
|
|
27
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
28
|
+
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
|
|
29
|
+
Classifier: Topic :: System :: Distributed Computing
|
|
30
|
+
Classifier: Topic :: Utilities
|
|
31
|
+
Requires-Python: >=3.8
|
|
32
|
+
License-File: LICENSE
|
|
33
|
+
Requires-Dist: dill <0.4,>=0.3.2
|
|
34
|
+
Requires-Dist: requests <3,>=2
|
|
35
|
+
Requires-Dist: docker <8,>=6.1.0
|
|
36
|
+
Requires-Dist: urllib3 <3,>=1.26.0
|
|
37
|
+
Requires-Dist: python-dateutil
|
|
38
|
+
Requires-Dist: psutil <6,>=3.0.1
|
|
39
|
+
Requires-Dist: PyPubSub <5,>=4.0.3
|
|
40
|
+
Requires-Dist: addict <2.5,>=2.2.1
|
|
41
|
+
Requires-Dist: pytz >=2012
|
|
42
|
+
Requires-Dist: enlighten <2,>=1.5.2
|
|
43
|
+
Requires-Dist: configargparse <2,>=1.7
|
|
44
|
+
Requires-Dist: ruamel.yaml >=0.15
|
|
45
|
+
Requires-Dist: pyyaml <7,>=6
|
|
46
|
+
Requires-Dist: typing-extensions <5,>=4.6.2
|
|
47
|
+
Provides-Extra: all
|
|
48
|
+
Requires-Dist: boto <3,>=2.48.0 ; extra == 'all'
|
|
49
|
+
Requires-Dist: boto3-stubs[boto3,iam,s3,sdb,sts] <2,>=1.28.3.post2 ; extra == 'all'
|
|
50
|
+
Requires-Dist: mypy-boto3-iam <2,>=1.28.3.post2 ; extra == 'all'
|
|
51
|
+
Requires-Dist: moto <5,>=4.1.11 ; extra == 'all'
|
|
52
|
+
Requires-Dist: cwltool ==3.1.20240112164112 ; extra == 'all'
|
|
53
|
+
Requires-Dist: schema-salad <9,>=8.4.20230128170514 ; extra == 'all'
|
|
54
|
+
Requires-Dist: galaxy-tool-util <23 ; extra == 'all'
|
|
55
|
+
Requires-Dist: galaxy-util <23 ; extra == 'all'
|
|
56
|
+
Requires-Dist: ruamel.yaml <=0.19,>=0.15 ; extra == 'all'
|
|
57
|
+
Requires-Dist: ruamel.yaml.clib >=0.2.6 ; extra == 'all'
|
|
58
|
+
Requires-Dist: networkx !=2.8.1,<4 ; extra == 'all'
|
|
59
|
+
Requires-Dist: CacheControl[filecache] ; extra == 'all'
|
|
60
|
+
Requires-Dist: pynacl <2,>=1.4.0 ; extra == 'all'
|
|
61
|
+
Requires-Dist: apache-libcloud <3,>=2.2.1 ; extra == 'all'
|
|
62
|
+
Requires-Dist: google-cloud-storage <=2.8.0,>=2 ; extra == 'all'
|
|
63
|
+
Requires-Dist: google-auth <3,>=2.18.1 ; extra == 'all'
|
|
64
|
+
Requires-Dist: kubernetes <22,>=12.0.1 ; extra == 'all'
|
|
65
|
+
Requires-Dist: kubernetes-stubs ==v22.6.0post1 ; extra == 'all'
|
|
66
|
+
Requires-Dist: types-urllib3 ; extra == 'all'
|
|
67
|
+
Requires-Dist: types-PyYAML ; extra == 'all'
|
|
68
|
+
Requires-Dist: idna >=2 ; extra == 'all'
|
|
69
|
+
Requires-Dist: miniwdl ==1.11.1 ; extra == 'all'
|
|
70
|
+
Requires-Dist: wdlparse ==0.1.0 ; extra == 'all'
|
|
71
|
+
Requires-Dist: connexion[swagger-ui] <3,>=2.10.0 ; extra == 'all'
|
|
72
|
+
Requires-Dist: flask <3,>=2.0 ; extra == 'all'
|
|
73
|
+
Requires-Dist: werkzeug <3,>=2.0 ; extra == 'all'
|
|
74
|
+
Requires-Dist: flask-cors ==4.0.0 ; extra == 'all'
|
|
75
|
+
Requires-Dist: gunicorn ==21.2.0 ; extra == 'all'
|
|
76
|
+
Requires-Dist: celery <6,>=5.1.0 ; extra == 'all'
|
|
77
|
+
Requires-Dist: wes-service <5,>=4.0.0 ; extra == 'all'
|
|
78
|
+
Requires-Dist: ruamel.yaml <0.19,>=0.15 ; extra == 'all'
|
|
79
|
+
Requires-Dist: pymesos <0.4,>=0.3.15 ; (python_version < "3.11") and extra == 'all'
|
|
80
|
+
Requires-Dist: graphlib-backport ==1.0 ; (python_version < "3.9") and extra == 'all'
|
|
81
|
+
Provides-Extra: aws
|
|
82
|
+
Requires-Dist: boto <3,>=2.48.0 ; extra == 'aws'
|
|
83
|
+
Requires-Dist: boto3-stubs[boto3,iam,s3,sdb,sts] <2,>=1.28.3.post2 ; extra == 'aws'
|
|
84
|
+
Requires-Dist: mypy-boto3-iam <2,>=1.28.3.post2 ; extra == 'aws'
|
|
85
|
+
Requires-Dist: moto <5,>=4.1.11 ; extra == 'aws'
|
|
86
|
+
Provides-Extra: cwl
|
|
87
|
+
Requires-Dist: cwltool ==3.1.20240112164112 ; extra == 'cwl'
|
|
88
|
+
Requires-Dist: schema-salad <9,>=8.4.20230128170514 ; extra == 'cwl'
|
|
89
|
+
Requires-Dist: galaxy-tool-util <23 ; extra == 'cwl'
|
|
90
|
+
Requires-Dist: galaxy-util <23 ; extra == 'cwl'
|
|
91
|
+
Requires-Dist: ruamel.yaml <=0.19,>=0.15 ; extra == 'cwl'
|
|
92
|
+
Requires-Dist: ruamel.yaml.clib >=0.2.6 ; extra == 'cwl'
|
|
93
|
+
Requires-Dist: networkx !=2.8.1,<4 ; extra == 'cwl'
|
|
94
|
+
Requires-Dist: CacheControl[filecache] ; extra == 'cwl'
|
|
95
|
+
Provides-Extra: encryption
|
|
96
|
+
Requires-Dist: pynacl <2,>=1.4.0 ; extra == 'encryption'
|
|
97
|
+
Provides-Extra: google
|
|
98
|
+
Requires-Dist: apache-libcloud <3,>=2.2.1 ; extra == 'google'
|
|
99
|
+
Requires-Dist: google-cloud-storage <=2.8.0,>=2 ; extra == 'google'
|
|
100
|
+
Requires-Dist: google-auth <3,>=2.18.1 ; extra == 'google'
|
|
101
|
+
Provides-Extra: htcondor
|
|
102
|
+
Requires-Dist: htcondor <11,>=10.2.0.post1 ; (sys_platform!="darwin") and extra == 'htcondor'
|
|
103
|
+
Provides-Extra: kubernetes
|
|
104
|
+
Requires-Dist: kubernetes <22,>=12.0.1 ; extra == 'kubernetes'
|
|
105
|
+
Requires-Dist: kubernetes-stubs ==v22.6.0post1 ; extra == 'kubernetes'
|
|
106
|
+
Requires-Dist: types-urllib3 ; extra == 'kubernetes'
|
|
107
|
+
Requires-Dist: types-PyYAML ; extra == 'kubernetes'
|
|
108
|
+
Requires-Dist: idna >=2 ; extra == 'kubernetes'
|
|
109
|
+
Provides-Extra: mesos
|
|
110
|
+
Requires-Dist: pymesos <0.4,>=0.3.15 ; (python_version < "3.11") and extra == 'mesos'
|
|
111
|
+
Provides-Extra: server
|
|
112
|
+
Requires-Dist: connexion[swagger-ui] <3,>=2.10.0 ; extra == 'server'
|
|
113
|
+
Requires-Dist: flask <3,>=2.0 ; extra == 'server'
|
|
114
|
+
Requires-Dist: werkzeug <3,>=2.0 ; extra == 'server'
|
|
115
|
+
Requires-Dist: flask-cors ==4.0.0 ; extra == 'server'
|
|
116
|
+
Requires-Dist: gunicorn ==21.2.0 ; extra == 'server'
|
|
117
|
+
Requires-Dist: celery <6,>=5.1.0 ; extra == 'server'
|
|
118
|
+
Requires-Dist: wes-service <5,>=4.0.0 ; extra == 'server'
|
|
119
|
+
Requires-Dist: ruamel.yaml <0.19,>=0.15 ; extra == 'server'
|
|
120
|
+
Provides-Extra: wdl
|
|
121
|
+
Requires-Dist: miniwdl ==1.11.1 ; extra == 'wdl'
|
|
122
|
+
Requires-Dist: wdlparse ==0.1.0 ; extra == 'wdl'
|
|
123
|
+
Requires-Dist: graphlib-backport ==1.0 ; (python_version < "3.9") and extra == 'wdl'
|
|
124
|
+
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
toil/__init__.py,sha256=7Rj4nfBg1bZoiUGi5qbCQKPBydtj-ulj735-AWx8EHY,31427
|
|
2
|
+
toil/bus.py,sha256=I3H7nYzbBjCm7L3QkNmI-S_JAXUyy60DXXFURgVfMIg,29159
|
|
3
|
+
toil/common.py,sha256=rMc9_ECeecbma18uwN1PS_HEKAAdi_fdtgjf4Ax_23M,70917
|
|
4
|
+
toil/deferred.py,sha256=vGr0IrCvpTiCDR05d5wwmqs6WrifgqDRjDjS24ozJPA,13953
|
|
5
|
+
toil/exceptions.py,sha256=3c87Jo1NKBz8CcQA3GEm-r57DnJAfWiGFMKQFYAlJOo,1835
|
|
6
|
+
toil/job.py,sha256=GDMObf7tCyND99cLb4XR07lXGJ_REWlzKKOVK8s0QgE,149335
|
|
7
|
+
toil/leader.py,sha256=Xkwy9g3BiU0Cx9vJeBSrvWqM4XFpZTU8vRbZpYDNaCM,77216
|
|
8
|
+
toil/realtimeLogger.py,sha256=eB_6E9lJYMrsjAswsdI6EiFBJeYO1iMk6S3OHBYVPsk,9733
|
|
9
|
+
toil/resource.py,sha256=l_Kdf63fHkWl8eUFFTQc7Br4k56LUd4bgB1LnvhbveM,24869
|
|
10
|
+
toil/serviceManager.py,sha256=86GYynCH7wh7nDswvQc4F1OdGl2OQmC6wiW_si3uatA,19084
|
|
11
|
+
toil/statsAndLogging.py,sha256=1HNcE35CFeBX-1Ikpj7oqHsSDd7UlBJDKeSAhrdlfTc,14455
|
|
12
|
+
toil/toilState.py,sha256=EIfKb8DSfm33DNBXZIXAa_TZJdkMcygGI3CmdWp0sEY,14907
|
|
13
|
+
toil/version.py,sha256=Yzmq-I9oCvrZhIDnlptJ_iJ4ucMUrnMip0ug8ngzVkw,491
|
|
14
|
+
toil/worker.py,sha256=qzSfEgvpU7_G3-r7BNrN7hRQDuTtvZV59QLB8wOnlp0,32574
|
|
15
|
+
toil/batchSystems/__init__.py,sha256=UqxHmoYxHGYSnlEpmZCw1GnnpGFASzZlVG365E8_muY,1035
|
|
16
|
+
toil/batchSystems/abstractBatchSystem.py,sha256=zk13Pw8f86wTtbRX_tWHv_B-uqOlwZVs20PaWfNEn4Y,32794
|
|
17
|
+
toil/batchSystems/abstractGridEngineBatchSystem.py,sha256=TPhtWOu0t2W7ntFSA3XUfPBrJD12AsAL_-kxPafVC8g,20963
|
|
18
|
+
toil/batchSystems/awsBatch.py,sha256=aPxHzBsf_9PCQuEkkRz5wrNOwh4Yf2Wr0jaP1M6SYmQ,25296
|
|
19
|
+
toil/batchSystems/cleanup_support.py,sha256=SKx9804ZvcdgnuY1a7kU47G8Yj-1G13MVVx8dxTnj8o,4069
|
|
20
|
+
toil/batchSystems/contained_executor.py,sha256=582lofKCez9RWfQ3H5k1vpNVYgZ2YavooiWnH-nrBBk,5193
|
|
21
|
+
toil/batchSystems/gridengine.py,sha256=Njkh4FJDvz3nqnLTaPgExSBGbOadhM7ua-ofQyFhhyc,7752
|
|
22
|
+
toil/batchSystems/htcondor.py,sha256=a1KyCJmtGGPPaVxcCdDFvTcaX19CTjTlgKxDtgTCEqo,17293
|
|
23
|
+
toil/batchSystems/kubernetes.py,sha256=AnNB5LxkB-9FmofWlXpF8eySaW1qVq2a1BXKrOMzkHc,84697
|
|
24
|
+
toil/batchSystems/local_support.py,sha256=EI3R6pkGRQXQodAqDHOVAqKa9Zytlh1hHjjnciydGu0,3903
|
|
25
|
+
toil/batchSystems/lsf.py,sha256=HNJdmUG6_uOe6UsnD0ecUiilnKRM2-2jydHnx_gGX7c,17376
|
|
26
|
+
toil/batchSystems/lsfHelper.py,sha256=JJE3OHoye-V55TGMN03s-t56Lf2ijrhAjZqInLccF7Q,7205
|
|
27
|
+
toil/batchSystems/options.py,sha256=bsqrv8qBvPdaGcyDCESzArLmqB-b1GdE98n058niPMY,7654
|
|
28
|
+
toil/batchSystems/registry.py,sha256=7Mp_KJWIgU0YEXVELITifPX0yZugkP0sV36W8fa1RZk,6659
|
|
29
|
+
toil/batchSystems/singleMachine.py,sha256=A9zsbYj6TqASVMboQKDaYeTijjE1rqVwxQNSO5Lc9rs,38113
|
|
30
|
+
toil/batchSystems/slurm.py,sha256=FyTrugG9maY-wfsW10q8MIqMgKAaxSAnBpXKr4-shug,22635
|
|
31
|
+
toil/batchSystems/torque.py,sha256=rEvrvKnw2FUAMPpwO-9h2qpifLd1pFv2zzDxiBKD0yQ,11625
|
|
32
|
+
toil/batchSystems/mesos/__init__.py,sha256=_klpvdKQWxDTeL1fbPdItd-Lx3KJnNMAzHJtUqsbykU,3354
|
|
33
|
+
toil/batchSystems/mesos/batchSystem.py,sha256=Iosg58Uy3BnFk8VoM7vMM-MStKC-Kgoe0CAb7YKXOpY,38900
|
|
34
|
+
toil/batchSystems/mesos/conftest.py,sha256=n1ZIXzZP0msJlZL_ZIG84trKifxFLRLr2uIr-EjDucQ,836
|
|
35
|
+
toil/batchSystems/mesos/executor.py,sha256=KfreVYrjMaRRzpQGhxbi2zbBQj6fUQ0EniiS6sbKPOE,12376
|
|
36
|
+
toil/batchSystems/mesos/test/__init__.py,sha256=IZoexyiZcAPdv_L39v7mMO7xVHcMuEn7f_M4gyeh-Fk,4670
|
|
37
|
+
toil/cwl/__init__.py,sha256=bIVIPfacZlHZVPrzjXDD5cV4a1VCGpwErJpO5_ta9Bk,2131
|
|
38
|
+
toil/cwl/conftest.py,sha256=R6Jw5-PeTCK0rapfHmV_VJwVcqlVbO5w3cFUbaIWUnk,848
|
|
39
|
+
toil/cwl/cwltoil.py,sha256=PhORC-4EzKEIwqoDu7nIIVqlvfOAJ_Hr6iObBuLdqGA,159478
|
|
40
|
+
toil/cwl/utils.py,sha256=l-B9zy9cTiOEi0kybE3CzUzkX1VtnIPTkBvGwXtxUB4,8014
|
|
41
|
+
toil/fileStores/__init__.py,sha256=kW1QFBZLJoagBdmxoaABN6peG46f5owJurISVXkbEIg,2390
|
|
42
|
+
toil/fileStores/abstractFileStore.py,sha256=EgksAy4Y2kUFYV-63I-6sD5FGwsFe3el8dcCvyyweJs,30374
|
|
43
|
+
toil/fileStores/cachingFileStore.py,sha256=N4hXE1j89w8lXy1hR4O1cvlma4pXRnniiw6e7Zy3iXA,91851
|
|
44
|
+
toil/fileStores/nonCachingFileStore.py,sha256=WyIJO0r90aukWBX1Gho8OQ8vuinrrilxN2fA3aQrGhs,15355
|
|
45
|
+
toil/jobStores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
|
+
toil/jobStores/abstractJobStore.py,sha256=VSYCgIovwj6McZehRAAvApUoQfhxH_el2NReDCmKwpw,77125
|
|
47
|
+
toil/jobStores/conftest.py,sha256=n4dffd8QPoA_kenbHE_XzA2bf1ZTNlXux8ffukB1qCk,834
|
|
48
|
+
toil/jobStores/fileJobStore.py,sha256=F4FAJun6oV6GgV7Uj6JcYMdbXT2OcvcFikXt0Hdhm9I,48316
|
|
49
|
+
toil/jobStores/googleJobStore.py,sha256=psqJPvhX_H5WVu9UQr7KlqNdh4hjdcaxHFYaGkSCHFs,24101
|
|
50
|
+
toil/jobStores/utils.py,sha256=tg_MG-3GFVKZxILr7FykBq-NfVugD3j7apkKJLXZtOs,15235
|
|
51
|
+
toil/jobStores/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
+
toil/jobStores/aws/jobStore.py,sha256=KNaESQm_vs2fMRT9NQLEoc1dxCRnzV8Txj_MTwj_Mnk,78343
|
|
53
|
+
toil/jobStores/aws/utils.py,sha256=XNrXsyZhnoZUf-jE3hdP3cejO5wnW2A1in2TmtO7xy8,19340
|
|
54
|
+
toil/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
+
toil/lib/accelerators.py,sha256=8zkcZREND57xKWsONfV81o0_zyiTbMYL7VI7RElH94M,5551
|
|
56
|
+
toil/lib/bioio.py,sha256=c6B22vMF9w4VjOdZDug07ksJJ0SrqmV8NVJGDdNbLnc,2328
|
|
57
|
+
toil/lib/compatibility.py,sha256=RKk9hpI_KfBZR_SFqLcIf_3vC-oE4cgyi0T8vP-S0xg,1515
|
|
58
|
+
toil/lib/conversions.py,sha256=ykZ_md_CtJojKwkPJM1UEDkNC5-xwwdcBNio0Rs_c5Q,4832
|
|
59
|
+
toil/lib/docker.py,sha256=RnEI8sZZmZ_zMYHOMDqEYu_BItJ-s-6319SR9Xcr7v8,21104
|
|
60
|
+
toil/lib/ec2.py,sha256=3057UA-ECEgp1gNUbvq2jrf61iB5FQ7BCSYQNGySIcM,22527
|
|
61
|
+
toil/lib/ec2nodes.py,sha256=RZsIARyrRrWQIOHseG3691ExMEDatNmMtv3mov6u7aw,14167
|
|
62
|
+
toil/lib/exceptions.py,sha256=vxILY_EJUU_Tvg0uDKvtaFjOYE8cJiCtgrGLEOm3qRg,2271
|
|
63
|
+
toil/lib/expando.py,sha256=a_q6CeB7HNZRSbg0teMZN1Qz_vrwGo1lBN7onOyoLvQ,2925
|
|
64
|
+
toil/lib/generatedEC2Lists.py,sha256=gcid9noAlzctnH-OKYYuVTgtWgswI7C2MxqM1JALaWU,244245
|
|
65
|
+
toil/lib/humanize.py,sha256=gozIsspDv0LP_lZ8FN5EA9t1_SYoudeciQ0O0FRGzxM,1239
|
|
66
|
+
toil/lib/io.py,sha256=QLKoZWBV4Ddf61_A5fD5LuQGfgP4tcTW0_hgCZ_CVvk,9645
|
|
67
|
+
toil/lib/iterables.py,sha256=IEb68dyazYOSRVjnK0AFNCymA8M17Ux37sPQAbkdrcw,3429
|
|
68
|
+
toil/lib/memoize.py,sha256=gS58oA-XzrpGeucRA6s8mtwN9BK63w6JTIDnNovMJQI,3223
|
|
69
|
+
toil/lib/misc.py,sha256=Qm8SUEYkLKZeH5ZuGzsUxlEvWDC-H_4yBI96LS_SPxo,5729
|
|
70
|
+
toil/lib/objects.py,sha256=yrprtKobB5n1_d5oMu6SBzTAp4PX7uzw9lTkBkR1ldw,5384
|
|
71
|
+
toil/lib/resources.py,sha256=SK1ghdZkT3FsvKzFqh5QxfRRqBnhCfA2FMvLPg1An10,2501
|
|
72
|
+
toil/lib/retry.py,sha256=iIASaiOh26ipVL1QtapNAdoGaA7iB6bVLqvNotaRIWo,22366
|
|
73
|
+
toil/lib/threading.py,sha256=NQtvJZofxThZxAC-z6OX3Ai6QvO-E38iSzC7GfkHap8,24222
|
|
74
|
+
toil/lib/throttle.py,sha256=2tofeq1rFkXyBZiew3ECUhcicOF01DupIF9HtXuFqD0,4977
|
|
75
|
+
toil/lib/aws/__init__.py,sha256=Sfp0FIMI_EeUwYcUK9DwivajWY6fYUZsGiAn9eNiY_w,7157
|
|
76
|
+
toil/lib/aws/ami.py,sha256=hhfH8mkE8RCPo9V_hWCFg4G8_V--Lu_iKG1fbwGDB6U,9259
|
|
77
|
+
toil/lib/aws/iam.py,sha256=iyeJkxQguRogRF2Y12_5LI_ym81J2pAXWGVUh1Y0l7E,14589
|
|
78
|
+
toil/lib/aws/session.py,sha256=zNysuHyscb8FTj4J-i9YvzJxMKMibIkEeYMopERRaac,10773
|
|
79
|
+
toil/lib/aws/utils.py,sha256=W2iwrvGHXJNOqsyqDXkSgYpYb3yUEjFslhMrePNwfWo,19947
|
|
80
|
+
toil/lib/encryption/__init__.py,sha256=HP19EUYJeIMdjZq11fLn_dXIGU98sIkpTxvMxvPaUSs,705
|
|
81
|
+
toil/lib/encryption/_dummy.py,sha256=TBmPDmt1FLUtwUtb8e1EKZ-8tYRC3lyrxAp4Rkaw1A8,1112
|
|
82
|
+
toil/lib/encryption/_nacl.py,sha256=FMiBDQ5WlmbbBGWWMQMl2kKd5m7aKvUVODHUhV09dEA,3831
|
|
83
|
+
toil/lib/encryption/conftest.py,sha256=PF4PbhiUftyUcNx2uU0RtX8-LcR0YAFFI5z4fBlzF5M,226
|
|
84
|
+
toil/options/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
|
+
toil/options/common.py,sha256=5Z7R6kgQ5czsnei2NUNdojFUEWLRHOdnmh8FRzJZdtM,47719
|
|
86
|
+
toil/options/cwl.py,sha256=kbevYHXwmv0iQJnmKwusl235PY_ZlHFWG1nTbdlA8Xo,12939
|
|
87
|
+
toil/options/wdl.py,sha256=IcngBeScBRoGiqqkpApIUPDwvqp76tY6TLIoTOGJb00,2663
|
|
88
|
+
toil/provisioners/__init__.py,sha256=5_mxQo62vAcjCAk-ulYH0d9EcLAjmb3IP_MTYRL_D3k,9067
|
|
89
|
+
toil/provisioners/abstractProvisioner.py,sha256=475PQvSKr1hchKPsnzKWHv0W2rKAdVANV6ZLD_D4oxA,55930
|
|
90
|
+
toil/provisioners/clusterScaler.py,sha256=jiSTAXaR6IhQahYsQuADKxk5kzSLRGaK6KIrGR9mkNE,62095
|
|
91
|
+
toil/provisioners/gceProvisioner.py,sha256=sHvdCK390OYaOTGAdd2a1bCaZgzP612rHf6qfrhpQsQ,23554
|
|
92
|
+
toil/provisioners/node.py,sha256=De_-7GOGrZiFVmHfGH-vWDOK9JT4W9IySQESy3R0D5I,13777
|
|
93
|
+
toil/provisioners/aws/__init__.py,sha256=7ipnyxtedG3HeiyL5PRBy1GmGRTKOKkLO5NTB-en8xQ,8528
|
|
94
|
+
toil/provisioners/aws/awsProvisioner.py,sha256=_h3IFMotGnrkDE9TvEkCqIcg4ziJJ6nkPV5H3mRvbf8,80993
|
|
95
|
+
toil/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
|
+
toil/server/app.py,sha256=SR8w8RCa8te3B9sknLBAHIO0xy_D3_ZXILZtijPiMSY,7145
|
|
97
|
+
toil/server/celery_app.py,sha256=1KjNaQ3QqLZoE6WkfLOgkVww6ouIGQKPqHtlWBe363U,649
|
|
98
|
+
toil/server/utils.py,sha256=injwT7VXOlmkFAEj5cPLkawegITBepM9yVq9ovv2HBI,21836
|
|
99
|
+
toil/server/wsgi_app.py,sha256=wpZwj2F2yVx5SFNpFucXx9Pdvef4-r4eGRIBzqXFce8,1964
|
|
100
|
+
toil/server/api_spec/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
|
+
toil/server/api_spec/workflow_execution_service.swagger.yaml,sha256=zZ2QepvbpvLROIcVIHWrcQLUwXEqGfm68fmkdrx8rw8,25377
|
|
102
|
+
toil/server/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
103
|
+
toil/server/cli/wes_cwl_runner.py,sha256=zdJuIETINMkE9bqqcbsh4iPOPFh-10JYkowXPjv7sCk,18399
|
|
104
|
+
toil/server/wes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
|
+
toil/server/wes/abstract_backend.py,sha256=hn7lGq0xznSs7b3x_Ocu6a83EPWgymO8Q1BLNrQV_6E,9725
|
|
106
|
+
toil/server/wes/amazon_wes_utils.py,sha256=6lsX-A1Wi51PurIO1bVrvWmMaWYWPZhwDqMSI58Oj0c,10390
|
|
107
|
+
toil/server/wes/tasks.py,sha256=whUcJau7s5dOhIefXTtUK6xz8RrygJOmx_lBlmP_0l0,24415
|
|
108
|
+
toil/server/wes/toil_backend.py,sha256=4zpHD73YqSBlbcJvff6PRa8pYT3jOFXJUvzpNd_mAQQ,27502
|
|
109
|
+
toil/test/__init__.py,sha256=Fhqh_Diu_x5bPLmKUiEbFTfKEZqqClnZgJ4WTFEaToI,44366
|
|
110
|
+
toil/test/batchSystems/__init__.py,sha256=9h1rcqYjjnn97DpDEJf8tlNOIDx0XiXyQwh0F_81y0k,612
|
|
111
|
+
toil/test/batchSystems/batchSystemTest.py,sha256=IwpxaYCYO-VJ0RkEnYXUNFAzwwiosob2EzEOmWOKaA0,53561
|
|
112
|
+
toil/test/batchSystems/test_lsf_helper.py,sha256=vgWORofYN63TIUOUeMv0Zbjm8EbJiRM_-aHppERLwr4,4936
|
|
113
|
+
toil/test/batchSystems/test_slurm.py,sha256=7C9xj0SnA-Pq7ltZYRXJ7Lvgw4ffsASa40bWolfqtRo,19162
|
|
114
|
+
toil/test/cactus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
115
|
+
toil/test/cactus/test_cactus_integration.py,sha256=jzntInJFDcags78cKrrUnO6noFq0ZfJ9MgBdLcE3iGE,2417
|
|
116
|
+
toil/test/cwl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
117
|
+
toil/test/cwl/alwaysfails.cwl,sha256=EWDfzxMG4WqH2YQErhIHYPVc7-1eyucEUboj8r7yVbA,210
|
|
118
|
+
toil/test/cwl/colon_test_output.cwl,sha256=8evFOnHvpJEPn1lBI2zuEKueMUbh2p8oSNOKl-M4Ojw,401
|
|
119
|
+
toil/test/cwl/colon_test_output_job.yaml,sha256=BbXFRuWsRJV6JpJAutnHywJl_AbwEcwNRszArfRecxs,72
|
|
120
|
+
toil/test/cwl/conditional_wf.cwl,sha256=SAtUSmD5ta-DVG0SRHpT8EtOp8ztm-6v9Vskcl09c3s,357
|
|
121
|
+
toil/test/cwl/conditional_wf.yaml,sha256=WsS9dlpbRUll9M56KspQdOJ8h6SASTW7eRELefa274E,24
|
|
122
|
+
toil/test/cwl/conftest.py,sha256=okwzv8y-qDSIz--eauonzQXxj6DxyT-u8sXIUMmjxlE,698
|
|
123
|
+
toil/test/cwl/cwlTest.py,sha256=Afjxd1vSv8VEXq9w26uoICXZ-bjwf4Sq7Vn0LffMMUg,59717
|
|
124
|
+
toil/test/cwl/directory_from_directory.cwl,sha256=-hjZuUs5fMpKMnbj-FZAgcns4iWsCFJV6Qh7-fsRn1I,556
|
|
125
|
+
toil/test/cwl/download.cwl,sha256=XQvz8or_-k6pwyhgeUeJOew0_b3BeHcF08EaalbySz4,296
|
|
126
|
+
toil/test/cwl/download_directory.cwl,sha256=RdPmElFeHJqXGWVqEqR5VFMmXDiJubhTcM9hIrAhKY4,535
|
|
127
|
+
toil/test/cwl/download_subdirectory.cwl,sha256=9xhggsaDvdA0fOUGOXWt853h1ir0KCKB4NhhAnYLKZ4,784
|
|
128
|
+
toil/test/cwl/echo-stderr.cwl,sha256=M-j3robw02M6PWkhbDI3Yn1GDGRDteLGMMFvfhL56mQ,342
|
|
129
|
+
toil/test/cwl/echo-stdout-log-dir.cwl,sha256=emXc_pJKCUI7zpN4c6WMeIRvAsvmibRA1vyHhQB3y4Y,228
|
|
130
|
+
toil/test/cwl/echo.cwl,sha256=1_Pvhg7RmQq3wpYUhQT6iS0IR7MN_CY8UEdBWjWcQf4,183
|
|
131
|
+
toil/test/cwl/echo_string.cwl,sha256=uBmj7qdRV3GFHQxbXvVeRqiOnqc2L-oHYELGGiJJC9M,845
|
|
132
|
+
toil/test/cwl/echo_string_scatter_capture_stdout.cwl,sha256=5FGemb98l2SP0e3ajeHfeE9-FKrmKfDzQmFixxu_kJM,1090
|
|
133
|
+
toil/test/cwl/file_from_directory.cwl,sha256=0SQUY6rJgqW9zhgX5RN-vjn1smDQweThAwKC5vy5fNk,536
|
|
134
|
+
toil/test/cwl/glob_dir.cwl,sha256=3a1VRsCTMgY0he8lxa-7OJJIeDHBry83DIEHguuIBwk,236
|
|
135
|
+
toil/test/cwl/load_contents.cwl,sha256=YASiGkUQPEa9dz6btNccARLI7sPppXmm5XaePIOpek8,464
|
|
136
|
+
toil/test/cwl/mpi_simple.cwl,sha256=xgsOk2yGbAHL3pwtCtxZd6_c9Lopl1xh32dO0D6-Qbc,470
|
|
137
|
+
toil/test/cwl/nvidia_smi.cwl,sha256=peKLDFC9_0zEt7CoRLCQDtAE5bjfotok8Ljmn1nBVtA,474
|
|
138
|
+
toil/test/cwl/preemptible.cwl,sha256=BLmrYR3nZX89p1I0-8vGuE-hqKEUbfsuY-CWDcf32BY,304
|
|
139
|
+
toil/test/cwl/preemptible_expression.cwl,sha256=T_90Y6dBe9nDCjp8Hg4dv9xFsaWVsKSHv5nZ2mafBZ8,639
|
|
140
|
+
toil/test/cwl/revsort.cwl,sha256=BDAyPb1Tpkp55I_XIiZ3_7dXzQJxxkXo_2CHSk5lcEw,2023
|
|
141
|
+
toil/test/cwl/revsort2.cwl,sha256=LNXgxDVC2aIhPTTgOdDcKteDLmi3y3vPAFF_GdURCcQ,2024
|
|
142
|
+
toil/test/cwl/revtool.cwl,sha256=qzl3FHpaF41KPpxP9yhrOxUCsSm1bjsr2XXFpBZ_LkM,1301
|
|
143
|
+
toil/test/cwl/revtool2.cwl,sha256=CwJT3A6mmjBtneDzVDEfcYqoIerKm7A7A6UcyrVWrqo,767
|
|
144
|
+
toil/test/cwl/s3_secondary_file.cwl,sha256=aHxO8EwWDxJb4CzuAt3VJfbQaHPQARLs7XVJ5DtMITs,378
|
|
145
|
+
toil/test/cwl/seqtk_seq.cwl,sha256=j8jkN9IkfKe1LGb2J_UT9-mpIWWLOc4ROEnyezxhzWw,404
|
|
146
|
+
toil/test/cwl/sorttool.cwl,sha256=c1fhFZ_ekTMuEAM0nikUPd2j-etPQL8MqyuSJLNadtc,1060
|
|
147
|
+
toil/test/cwl/stream.cwl,sha256=jtyYdmSyCeI6uoOeX5Nb_LMIXhR5Sqmu8dGSr_Y2Z8g,732
|
|
148
|
+
toil/test/cwl/test_filename_conflict_detection.cwl,sha256=wVrc9EXmO74tgaEe4oE-EMpmQiHIuUFbLh0-qVisVZo,699
|
|
149
|
+
toil/test/cwl/test_filename_conflict_detection_at_root.cwl,sha256=G3clUTFeeGZt5xPi2SNs05W7I-RT0OEN2C8xKHzQ300,695
|
|
150
|
+
toil/test/cwl/test_filename_conflict_resolution.cwl,sha256=sIoXi61RzCkzD1MTCoglRYAXo8xaE1JiC6irvSANK0I,717
|
|
151
|
+
toil/test/docs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
|
+
toil/test/docs/scriptsTest.py,sha256=LsFnNH_nrDF_xiDhhXmgi__8eZnspQSW3edgVWnI_h8,6100
|
|
153
|
+
toil/test/jobStores/__init__.py,sha256=9h1rcqYjjnn97DpDEJf8tlNOIDx0XiXyQwh0F_81y0k,612
|
|
154
|
+
toil/test/jobStores/jobStoreTest.py,sha256=iqYW-PBaOMim7dCibvzEK_OxLaVsiu4wHLiZmTd0vu8,67693
|
|
155
|
+
toil/test/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
156
|
+
toil/test/lib/dockerTest.py,sha256=qUqNhaHj_rG7NA0EmKtcm58IH3mEuqlxitvsoiMsuDk,17108
|
|
157
|
+
toil/test/lib/test_conversions.py,sha256=uXd9_sqqUAeXRcqfTEnQKyKofIMBJAPjWf43VK4vyVw,7317
|
|
158
|
+
toil/test/lib/test_ec2.py,sha256=I9jmLY7_5oJtFR7vObBS0pnzf-GCCm9CfTLrHp9q2Xs,4252
|
|
159
|
+
toil/test/lib/test_misc.py,sha256=OD4VBFgNOHt6krjyjxvvS9TqPmKorMz6MsGDlG4nAY8,2759
|
|
160
|
+
toil/test/lib/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
161
|
+
toil/test/lib/aws/test_iam.py,sha256=6YQDMxj73HZ86q_gu0ues76dYHbuxHhBgWpJ8Gt3yvM,5026
|
|
162
|
+
toil/test/lib/aws/test_s3.py,sha256=SsOPIK96fN9I3xYePjlIZbP6xXudMAvZJ1xqkpqDWpU,2952
|
|
163
|
+
toil/test/lib/aws/test_utils.py,sha256=lOp8QdFX4hXa6ZcgIbCWF-gf2-T0S-GRpkLhPKWmVok,2258
|
|
164
|
+
toil/test/mesos/MesosDataStructuresTest.py,sha256=EJ0kFy5rRHvNOJ_1bn-4nqldXNtlZCQA6niY28nyG_c,3124
|
|
165
|
+
toil/test/mesos/__init__.py,sha256=9h1rcqYjjnn97DpDEJf8tlNOIDx0XiXyQwh0F_81y0k,612
|
|
166
|
+
toil/test/mesos/helloWorld.py,sha256=4_KgsdftwdAYHi79KbyWWIUm2JK0AaT5qZ1vdON8LDY,2203
|
|
167
|
+
toil/test/mesos/stress.py,sha256=x6hAyfO2cSJ6BkGu1g97k4rOxOZigAw4g_DXTgpB7Ic,2129
|
|
168
|
+
toil/test/options/__init__.py,sha256=9h1rcqYjjnn97DpDEJf8tlNOIDx0XiXyQwh0F_81y0k,612
|
|
169
|
+
toil/test/options/options.py,sha256=oJJTBkAUs3lgClhujHiG0jGTiZ38ZgKdVoZ7D_Yh534,1426
|
|
170
|
+
toil/test/provisioners/__init__.py,sha256=9h1rcqYjjnn97DpDEJf8tlNOIDx0XiXyQwh0F_81y0k,612
|
|
171
|
+
toil/test/provisioners/clusterScalerTest.py,sha256=ObsCEM9lkvN59iR4Cgztqpw58swv_6ChdNOq4qUm_y8,44279
|
|
172
|
+
toil/test/provisioners/clusterTest.py,sha256=_yXE8zNcj7iH0NgAZyhOmixJ25XkdZcJ0j6qP98Idic,6434
|
|
173
|
+
toil/test/provisioners/gceProvisionerTest.py,sha256=yNieaSx5g5H5NtAw5b-lw6IL-8OeC10LMgDMIcwhTkw,12996
|
|
174
|
+
toil/test/provisioners/provisionerTest.py,sha256=M6JXn57yYsMuU33QkZ92Q9wMS-OZB4KygyMum9zvyqk,2040
|
|
175
|
+
toil/test/provisioners/restartScript.py,sha256=IHOXV0dez52utDJlIDO-O6yzGocK8wHyRpeFWYtjJUE,415
|
|
176
|
+
toil/test/provisioners/aws/__init__.py,sha256=9h1rcqYjjnn97DpDEJf8tlNOIDx0XiXyQwh0F_81y0k,612
|
|
177
|
+
toil/test/provisioners/aws/awsProvisionerTest.py,sha256=SgWW_P6ckliW-tiJQDpTcWsXOaK-Z6kJXe_tgV4AeJQ,20735
|
|
178
|
+
toil/test/server/__init__.py,sha256=9h1rcqYjjnn97DpDEJf8tlNOIDx0XiXyQwh0F_81y0k,612
|
|
179
|
+
toil/test/server/serverTest.py,sha256=fBv0uLGOSLxVbm3yVtv7TX35fTzJyyy7W13NAVTeiwI,27174
|
|
180
|
+
toil/test/sort/__init__.py,sha256=9h1rcqYjjnn97DpDEJf8tlNOIDx0XiXyQwh0F_81y0k,612
|
|
181
|
+
toil/test/sort/restart_sort.py,sha256=JrUAB0PEsYc5zprPUsCppE8oSK5Po4SidRTivs4Jcxw,11105
|
|
182
|
+
toil/test/sort/sort.py,sha256=rl3olKAKQ1mLdxvSNXOWyMhMEJlcj3WIlWp4bX2CBaE,10936
|
|
183
|
+
toil/test/sort/sortTest.py,sha256=FYMejYlF-gv_zs9VFQnXjVNFaEj0OK4lX8wY68g4y7Q,12167
|
|
184
|
+
toil/test/src/__init__.py,sha256=9h1rcqYjjnn97DpDEJf8tlNOIDx0XiXyQwh0F_81y0k,612
|
|
185
|
+
toil/test/src/autoDeploymentTest.py,sha256=RKNhkJLKjnYmC0VjeBhrHm-QnuYpQ-jz2UKM6vVtlJk,24151
|
|
186
|
+
toil/test/src/busTest.py,sha256=15Z2l90veadCD6HvbXtIU_TPkIdcbnSfm7T1OeJaJZ8,5448
|
|
187
|
+
toil/test/src/checkpointTest.py,sha256=w1_p3Ocrq6h7hTI6LHwUGrXemnWx6dShrThp6XW1Bng,4458
|
|
188
|
+
toil/test/src/deferredFunctionTest.py,sha256=FAVe3UfPH_H7R7XhRSxAf7dSMozCirQhIz4a700aOZI,13327
|
|
189
|
+
toil/test/src/dockerCheckTest.py,sha256=vw-Rgid51Wyw_3g9bwNYnE0hoZzldKZRBYVr_vZ1MGU,4334
|
|
190
|
+
toil/test/src/fileStoreTest.py,sha256=k_vwGwTicoSqYU40QwGzvrU8esSZKc8lD_ouN3f5uMY,68291
|
|
191
|
+
toil/test/src/helloWorldTest.py,sha256=OV0c_HBge7UsBCqyvMCj_9APiSoRotLy80Ah4EMR5I4,1721
|
|
192
|
+
toil/test/src/importExportFileTest.py,sha256=MN7ucc5AdniJK3W5QAuIJ4mljpAMC9FqLJ3-2nesqB8,7087
|
|
193
|
+
toil/test/src/jobDescriptionTest.py,sha256=PQDa5bZq_-8zQC-HOad2NKp6Qb9LvImmgLsnPhCS3Ug,3748
|
|
194
|
+
toil/test/src/jobEncapsulationTest.py,sha256=yb6dZiKiodEQDua7nL4SKHKWVMCoGpIxbquabuxlexM,2461
|
|
195
|
+
toil/test/src/jobFileStoreTest.py,sha256=E7YCrxdZhv2Jxy1rCT8RXL0sKqY-QIgRBYNqgiyRtKs,8740
|
|
196
|
+
toil/test/src/jobServiceTest.py,sha256=--kgtZCmnrtjMQNLOnoMSuuTxgEWhK8WksKFJaavJCY,15279
|
|
197
|
+
toil/test/src/jobTest.py,sha256=VTjtNGnlsRkHx434PlwbhhbZ55mY76HNGn3V_hxeeXk,27640
|
|
198
|
+
toil/test/src/miscTests.py,sha256=9mmM3wexZqkFHVRzQHOWtq3zOqnctIN7_32SZEufzGA,7879
|
|
199
|
+
toil/test/src/promisedRequirementTest.py,sha256=xAZE0ho7pni8nWw3s5JqWISONCLbXk5R65DN-J37TKM,9001
|
|
200
|
+
toil/test/src/promisesTest.py,sha256=UY-9crkMTirWerbp8OtzbIAZPOpB5_3JoXHrYucfFhw,2317
|
|
201
|
+
toil/test/src/realtimeLoggerTest.py,sha256=IS84LY3ExJeWQgBGpbRYw4A5cAm41cYhA_p3UenC6Vw,2153
|
|
202
|
+
toil/test/src/regularLogTest.py,sha256=BohWsMQnPgH51DvYkGHx6PuBWmCojn2fRFACtMuSvZs,4372
|
|
203
|
+
toil/test/src/resourceTest.py,sha256=BHK9sIVgWWvraUYxVeGWGqmykxEQ2TALCzy4Ir7h2WI,11150
|
|
204
|
+
toil/test/src/restartDAGTest.py,sha256=BeLzl9BVHECZt8WLXbSW9vWL-NrzroMT_q12Ngpm_UY,6070
|
|
205
|
+
toil/test/src/resumabilityTest.py,sha256=H2Dd1yk4-d0PYeXeloC68-QjzxNAZ38LE__ySJOf_A8,4161
|
|
206
|
+
toil/test/src/retainTempDirTest.py,sha256=zIUn471NXiLflbbLDO2bBaODjAdnkKE1QEfVnR5hhSI,4479
|
|
207
|
+
toil/test/src/systemTest.py,sha256=2eC8BZfNYzjs0CA_7OSSIU7Wez3REP7DIhQniLp7pn0,2206
|
|
208
|
+
toil/test/src/threadingTest.py,sha256=dMyDDJCXJ_d7fIxW8_gZ5x4wr57hmH0OTPwG1F65VTc,4942
|
|
209
|
+
toil/test/src/toilContextManagerTest.py,sha256=JjyPzIb6JOXmbcJnGrJKkKfKL3U_OFr13gfWmdqrfMY,3075
|
|
210
|
+
toil/test/src/userDefinedJobArgTypeTest.py,sha256=SXb3WmFWNtsIKKP-78eHL6tfabu4T8C0Spo9OK1v6xM,2848
|
|
211
|
+
toil/test/src/workerTest.py,sha256=LDHYZ-Vsw1iW-HDC57h0FDdZy2KBD9ooBazxsGSITJc,4609
|
|
212
|
+
toil/test/utils/__init__.py,sha256=9h1rcqYjjnn97DpDEJf8tlNOIDx0XiXyQwh0F_81y0k,612
|
|
213
|
+
toil/test/utils/toilDebugTest.py,sha256=s9xGdt1qFPWR-48U17JpNFIBTaLSkwyIp3xFMSarhxw,6435
|
|
214
|
+
toil/test/utils/toilKillTest.py,sha256=Wu0hANeRspLpqzdZUnWt-yt8wBhbxjEijOkjCWfNrkg,3541
|
|
215
|
+
toil/test/utils/utilsTest.py,sha256=TH_Z9-0EeqDCpLoETCyVbEW__Y5ZaF_u6VAUjabuJAM,16518
|
|
216
|
+
toil/test/wdl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
217
|
+
toil/test/wdl/wdltoil_test.py,sha256=s6bxlQIGDBOzlE0cfQSs5ls8lp-J2_oeVdfqXmgJSt4,16886
|
|
218
|
+
toil/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
219
|
+
toil/utils/toilClean.py,sha256=X6Fws6LVqa-ScUITMTomV5iohXa3yz_rAIFnUfXlqZU,1850
|
|
220
|
+
toil/utils/toilConfig.py,sha256=aOCGkke9ayqGgN26lzjs5rthruHS68v3R9gytkP0mvo,1487
|
|
221
|
+
toil/utils/toilDebugFile.py,sha256=4EHKyMbYvlhjj-8Qwlhrf3SEsj-eytZMX393yXk8BLw,6412
|
|
222
|
+
toil/utils/toilDebugJob.py,sha256=NvVsOd4NzItx3oSYCKnkqNNmiMfztqd_cjmkFKy_uDo,2991
|
|
223
|
+
toil/utils/toilDestroyCluster.py,sha256=Z9PQxqycsYeU0rjTTzZKWhKYuqP19wD988aGmfC3Vxc,1430
|
|
224
|
+
toil/utils/toilKill.py,sha256=0XK8K1Tk4Lla7eBPHI8PFmcOBZu_g0GWLjK1IkDYoXw,2714
|
|
225
|
+
toil/utils/toilLaunchCluster.py,sha256=i5mX4-huPzWwdGNFtV7zG62FK9De9jIdszKNEvm7RXM,12909
|
|
226
|
+
toil/utils/toilMain.py,sha256=an4LFEIzCXY8IjoAcjgF5OgO0KdTt1Nay9LEs8UOWu4,2456
|
|
227
|
+
toil/utils/toilRsyncCluster.py,sha256=MkRGcM2wG4BaZnAMDgI1lLoEUA4Adx0jxoOeGWkQWAY,2059
|
|
228
|
+
toil/utils/toilServer.py,sha256=4XbyOHQHgMWWrCWj9Uz1M-jLQheV2Ju-DQ_fNdnBg1o,1178
|
|
229
|
+
toil/utils/toilSshCluster.py,sha256=T9lNGBTiC_1TMo-QZNMbw5teoYZLdL6mN7C_e2FwSDU,2678
|
|
230
|
+
toil/utils/toilStats.py,sha256=kDC-b1xGSX1C_hPGGL3nh7uYxiyKRhZOzX1QwA9LCW4,25163
|
|
231
|
+
toil/utils/toilStatus.py,sha256=6-bTaYFstxbMhIlCkzjhkGtwTfs20XZ2c-NWGyzSa2I,16384
|
|
232
|
+
toil/utils/toilUpdateEC2Instances.py,sha256=e1EE60o8lu0Gqd8n1H-rTC94fraDsZnqPy4HdStnK6o,1273
|
|
233
|
+
toil/wdl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
234
|
+
toil/wdl/utils.py,sha256=z617Jhhbx4pCnBTrX7a5v-3q1Fxqff8LpwjM8Ohiibw,1307
|
|
235
|
+
toil/wdl/wdltoil.py,sha256=mNKYsykqRSyPFiAoIYXmciyloIPsQ5YARGM49SZ6coc,140229
|
|
236
|
+
toil-6.1.0.dist-info/LICENSE,sha256=FPaTNB9xyeCT60XXXq2Bn4FGN9392OxN5jixnV_XXyo,11516
|
|
237
|
+
toil-6.1.0.dist-info/METADATA,sha256=2dZlmgBCNmzUtKDUm4UI53In42U0tad_wjwmUAznKAk,6070
|
|
238
|
+
toil-6.1.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
239
|
+
toil-6.1.0.dist-info/entry_points.txt,sha256=EF2yFhV2UYuJGr-OjMkUOd3RyOCgRWQbS6XJtBJ25eM,436
|
|
240
|
+
toil-6.1.0.dist-info/top_level.txt,sha256=1ydj7IXvHS9tMT5OVTSSpub6ZOaQeIn3KGCgJqaikF0,5
|
|
241
|
+
toil-6.1.0.dist-info/RECORD,,
|