CAT-SOOP is a flexible, programmable learning management system based on the Python programming language.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
adam j hartz 6cfabda100 v2020.2.0 1 month ago
catsoop fix issue with empty submission to radio-style multiplechoice question 3 months ago
vim vim syntax highlighting: support for @{...} python and for <comment> tags 10 months ago
website some cleanup 10 months ago
.gitignore move main repo to git 10 months ago v2020.2.0 1 month ago update contributors 3 months ago
LICENSE update license to AGPLv3 3 years ago
LICENSE.bundled_software add ace code editor 1 year ago
LICENSE.included_software replace crypto 5 months ago rudimentary support for syntax highlighting in vim 1 year ago readme 8 months ago
requirements.txt replace crypto 5 months ago copyright year update 5 months ago

/    /\__/\
\__=(  o_O )=
 |_ |_ |_ |_


CAT-SOOP is a flexible, programmable learning management system originally developed primarily for use in MIT’s 6.01 (Introduction to Electrical Engineering and Computer Science via Robotics).

CAT-SOOP is free/libre software, available under the terms of the GNU Affero General Public License, version 3+. Please note that the terms of this license apply to the CAT-SOOP system itself and any plugins in use, but not to any course material hosted on a CAT-SOOP instance, unless explicitly stated otherwise.


To install, run:

$ pip3 install catsoop

Or, from a clone of the repository, run:

$ python3 install

To generate a file, run:

$ catsoop configure

If you are setting up a public-facing copy of CAT-SOOP (as opposed to a local copy for debugging purposes), see the instructions at

To start the server, run:

$ catsoop start

To run all the unit tests:

$ python3 test




CAT-SOOP incorporates pieces of third-party software. Licensing information for the original programs is available in the LICENSE.included_software file. The CAT-SOOP distribution also includes several pieces of third-party software. Licensing information for these programs is included in this distribution, in the LICENSE.bundled_software file.