Sometimes submitting your projects via the Command Line is more convenient than loading up the MimirIDE or zipping the files yourself. We're excited to announce that you can now install our mimir-cli application that allows you to login and submit to your projects directly from your computer!


Python and Pip


Installation can be accomplished using PyPi (pip).
To install mimir-cli, simply run:

pip install mimir-cli

# depending on your system, you may want to do:

pip3 install mimir-cli


To use the mimir-cli, first you need to login.

mimir login
# you can also logout like so:
mimir logout

This will prompt you for your email and password, which will be used to generate a token for submissions.

If you created an account using your school's LMS or single sign on, you can create your password in your profile settings page in Mimir Classroom.

If you have successfully logged in, you can now use the mimir-cli to submit your projects:

mimir project submit

Once you have specified that with a valid file, it will ask you for the project you'd like to submit to.

Once you pick the project, it will submit and send you back the link to the submission page!

The current options and flags for the CLI's project submit functionality are as follows:

Usage: mimir project submit [OPTIONS]

  submit files to a project on Mimir Classroom.

  if you are logged in as an instructor,
  you can also submit on behalf of another user,
  denoted by email, optionally adding a custom penalty

  --path <file path>        the file or directory to submit
  --project-id <uuid>       the project id on Mimir Classroom
  --on-behalf-of <email>    email to submit on behalf of (instructor only)
  --custom-penalty <float>  custom penalty for the submission
                            (instructor only)  [default: 0.0]
  -h, --help                Show this message and exit.

You can pass path and project-id through these CLI options, or if omitted, you will be prompted for values.

Below is a screenshot example of the CLI workflow.

Did this answer your question?