Submit to marmoset from the command line
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is a command-line tool for submitting assignments to the Marmoset submission server at Waterloo. It's similar to marmoset_submit on the student.cs servers, but you can run it anywhere.


Installation is done through RubyGems: gem install marmoset. Depending on how you have things setup, you may need to run that with sudo.


MarmosetSubmit installs a marmoset executable on your system. The typical usage of it is best illustrated with an example.

Let's say you want to submit a file in the current directory named as your submission to part 4 of assignment 11 in CS 241 (which has the 'project name' of "A11P4" on Marmoset). You'd run:

marmoset -u YourQuestUsername -c cs241 -a a11p4 -f

You'll then be prompted for your Quest password, every time you run a marmoset command like this. If you'd like to skip the password prompt, you can include your password in the command like so:

marmoset -u YourQuestUsername -p YourQuestPassword -c cs241 -a a11p4 -f

Here are all of the options, in more detail:

  • -u or --username: your Quest username (e.g. jlfwong).
  • -p or --password: your Quest password. If not specified, you'll be prompted for it.
  • -c or --course-code: the course ID. Typically, this is something like CS241.
  • -a or --assignment-problem: the assignment problem name, or 'project' as Marmoset describes it (e.g. A11P4).
  • -f or --infile: the file you want to submit (e.g.
  • -h or --help: display this usage information.
  • -v or --version: display the version of MarmosetSubmit you're using.

For additional usage information, you can run marmoset -h.