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 504eb1b1d8 vim syntax highlighting: support for @{...} python and for <comment> tags 11 months ago
.hive-bt Update issues in .hive-bt 1 year ago
catsoop fix for test case: include csm_util in context 11 months ago
vim vim syntax highlighting: support for @{...} python and for <comment> tags 11 months ago
website website: don't use deprecated cs_print function 1 year ago
.hgignore update to work with hg or git 1 year ago
.hgsigs Added signature for changeset 20bf95390ab1 1 year ago
.hgtags tags 1 year ago
CHANGELOG rename do_early_load and do_late_load functions 11 months ago
CONTRIBUTORS update some pieces for new infrastructure 1 year ago
LICENSE update license to AGPLv3 3 years ago
LICENSE.bundled_software add ace code editor 1 year ago
LICENSE.included_software we no longer include literal_eval 1 year ago rudimentary support for syntax highlighting in vim 1 year ago
README website url 1 year ago
requirements.txt stopped display of built-ins by the logger 1 year ago by popular demand, introduce a codename for v2019.9 1 year ago


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


* Web Site:
* IRC: #catsoop on OFTC (
* Mailing List:
(subscribe at


CAT-SOOP is a tool for automatic collection and assessment of online exercises,
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


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.