Submissions

Functions that interact with submissions

challengeutils.submission.append_writeup_to_main_submission(row, syn)[source]

Helper function that appends the write up synapse id and archived write up synapse id on the main submission

Parameters
  • row – Dictionary row[‘team’], row[‘objectId’], row[‘archived’], row[‘entityId’]

  • syn – synapse object

challengeutils.submission.archive_project(syn, submission, admin)[source]

Make a copy (archive) of the Project submission.

Parameters
  • - submission ID (submission) –

  • - user who will own the archived project (admin) –

challengeutils.submission.attach_writeup(syn, writeup_queueid, submission_queueid)[source]

Attach the write up to the submission queue

Parameters
  • writeup_queueid – Write up evaluation queue id

  • submission_queueid – Submission queue id

challengeutils.submission.download_current_lead_sub(syn, submissionid, status, cutoff_annotation, verbose=False)[source]

Download the current leading submission for boot ladder boot method

Parameters
  • syn – Synapse connection

  • submissionid – Submission id

  • status – Submission status

  • cutoff_annotation – Boolean cutoff annotation key

  • verbose – Boolean value to print

Returns

Path to current leading submission or None

challengeutils.submission.get_submitterid_from_submission_id(syn, submissionid, queue, verbose=False)[source]

Gets submitterid from submission id

Parameters
  • syn – Synapse connection

  • submissionid – Submission id

  • queue – Evaluation queue id

  • verbose – Boolean value to print

Returns

Submitter id

challengeutils.submission.get_submitters_lead_submission(syn, submitterid, queue, cutoff_annotation, verbose=False)[source]

Gets submitter’s lead submission

Parameters
  • submitterid – Submitter id

  • queue – Evaluation queue id

  • cutoff_annotation – Boolean cutoff annotation key

  • verbose – Boolean value to print

Returns

previous_submission.csv or None

challengeutils.submission.stop_submission_over_quota(syn: synapseclient.client.Synapse, submission_view: Union[str, synapseclient.table.SubmissionViewSchema], quota: int = 9223372036854775807)[source]

Stops any submission that has exceeded the run time quota by using submission views. A submission view must first exist. Rerunning submissions will require setting TimeRemaining annotation to a positive integer.

Parameters
  • syn – Synapse connection

  • submission_view – Submission View or its Synapse Id.

  • quota – Quota in milliseconds. Default is sys.maxsize. One hour is 3600000.

challengeutils.submission.validate_docker_submission(syn, submissionid)[source]

Validates Synapse docker repository + sha digest submission This function requires users to have a synapse config file using synapse username and password

Parameters
  • syn – Synapse connection

  • submissionid – Submission id

Returns

True if valid, False if not

challengeutils.submission.validate_project(syn, submission, challenge, public=False, admin=None)[source]

Validate a Project submission.

Parameters
  • - submission ID (submission) –

  • - Synapse ID of Challenge wiki (challenge) –

  • - Project should be public (default (public) – False)

  • - (admin) –

Returns

submission_errors (str) - error messages (“” if none found) submission_status (str) - “VALIDATED”/”INVALID”