Contest Management System
Python HTML JavaScript C++ CSS C Other
Latest commit b44d1e0 Feb 17, 2017 @myungwoo myungwoo committed with stefano-maggiolo Fix compilation command bug
Failed to load latest commit information.
cms Fix compilation command bug Feb 19, 2017
cmscommon Add a script for adding multiple testcases in terminal Dec 19, 2016
cmscompat Fixup 1edb4bb Jun 19, 2014
cmscontrib Allow importing all even if some imports fail Jan 29, 2017
cmsranking Make main() return an exit code instead of a boolean for all scripts … Dec 28, 2016
cmstaskenv Revert cb309e, instead fix where we had the wrong assumption in cmsMake Jan 24, 2017
cmstestsuite Start worker as late as possible when doing tests Feb 4, 2017
config Make documentation for DB configuration a bit more clear Sep 24, 2016
docs Update documentation Feb 1, 2017
isolate @ 6ea7b32 Update isolate submodule. Jan 12, 2016
scripts Make main() return an exit code instead of a boolean for all scripts … Dec 28, 2016
.editorconfig Use .editorconfig Sep 19, 2015
.eslintignore Added basic eslint configuration. Dec 31, 2016
.eslintrc.json Added basic eslint configuration. Dec 31, 2016
.gitignore Add built localization files to gitignore Jan 5, 2016
.gitmodules Include isolate as a git submodule Aug 7, 2014
.travis.yml Adjust travis configuration for JDK Java Jan 16, 2017
AUTHORS.txt Removing contest/user/task in AWS, with confirmation request Dec 21, 2016
LICENSE-AGPL3.txt Remove old "doc" directory Feb 23, 2013
LICENSE.txt Use Python's logging system Aug 31, 2013 Fix travis testing; Add build badge to May 26, 2016
dev-requirements.txt Introduce virtualenv instructions and pin dependencies May 28, 2015 Avoid trying to build l10n for special directories Dec 3, 2016
requirements.txt When exporting a submission file, try latin-1 encoding if utf-8 fails Jul 9, 2016 Add a script for adding multiple testcases in terminal Dec 19, 2016

Contest Management System


Build Status Join the chat at


CMS, or Contest Management System, is a distributed system for running and (to some extent) organizing a programming contest.

CMS has been designed to be general and to handle many different types of contests, tasks, scorings, etc. Nonetheless, CMS has been explicitly build to be used in the 2012 International Olympiad in Informatics, held in September 2012 in Italy.


For end-users it's best to download the latest stable version of CMS, which can be found already packaged at

This git repository, which contains the development version in its master branch, is intended for developers and everyone interested in contributing or just curious to see how the code works and wanting to hack on it.

Please note that since the sandbox is contained in a git submodule you should append --recursive to the standard git clone command to obtain it. Or, if you have already cloned CMS, simply run the following command from inside the repository:

git submodule update --init


The complete CMS documentation is at

The mailing list for announcements, user support and general discussion is You can subscribe at So far, it is an extremely low traffic mailing list.

The mailing list for development discussion (to submit feedback, proposals and critics, get opinions and reviews, etc.) is You can subscribe at

Please don't use these mailing lists for bug reports. File them on github instead.

For extemporaneous support and discussion, join the Gitter chat (see link above).

To help with the troubleshooting, you can collect the complete log files that are placed in /var/local/log/cms/ (if CMS was running installed) or in ./log (if it was running from the local copy).


CMS has been used in several official and unofficial contests. Please find an updated list at

If you used CMS for a contest, selection, or a similar event, and want to publicize this information, we would be more than happy to hear from you and add it to that list.