Skip to content
Contest Management System
Python HTML JavaScript C++ CSS C Other
Branch: master
Clone or download

Latest commit

rvisser7 and stefano-maggiolo Add macro templates files to babel mapping
As some of the template code has been moved to a macro file,
everything in server/contest/templates/macro/*.html must also be
Latest commit d4c9e92 Apr 20, 2019


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Remove support for Python 2 Oct 4, 2018
cms Fix bug preventing "no submissions" message to be shown in some cases Feb 24, 2019
cmscommon Fix issue in cmscommon.mimetypes Jan 15, 2019
cmscontrib Fix updaters 26 and 36 leaving dump inconsistent Mar 4, 2019
cmsranking Fix handling of unauthorized requests in RWS raising exception Feb 26, 2019
cmstaskenv Store memory limit on Job as bytes rather than MiB Oct 22, 2018
cmstestsuite Fix updaters 26 and 36 leaving dump inconsistent Mar 4, 2019
config Clarify documentation about generating a new secret key Jun 8, 2018
debian Rename LICENSE.txt to debian/copyright May 8, 2018
docs Add timezone field in italy_yaml format Jan 11, 2019
isolate @ e632cd6 Update isolate to version v1.6 Aug 17, 2018
scripts Reorder imports Oct 13, 2018
.codacy.yaml Codacy configuration to ignore files Sep 12, 2018
.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 Move to ioi/isolate v1.3 Mar 14, 2017
.travis.yml Fix Travis always running prerequisites using system Python 2 Oct 4, 2018
AUTHORS.txt Add myself to AUTHORS.TXT Aug 29, 2018
LICENSE.txt Rename LICENSE-AGPL.txt to LICENSE.txt May 8, 2018 Update mailing lists from FreeLists to Google Groups Mar 16, 2018
babel_mapping.cfg Add macro templates files to babel mapping Apr 20, 2019
dev-requirements.txt Drop mock as a dependency Oct 4, 2018 Improve error handling in Nov 5, 2018
requirements.txt Drop six as a dependency Oct 4, 2018
setup.cfg Update mailing lists from FreeLists to Google Groups Mar 16, 2018 Use a macro for a submission row in CWS Feb 24, 2019

Contest Management System


Build Status codecov 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


To learn how to install and use CMS, please read the documentation, available at

If you have questions or need help troubleshooting some problem, contact us in the chat at gitter, or write on the support mailing list, where no registration is required (you can see the archives on Google Groups).

To help with the troubleshooting, you can upload on some online pastebin the relevant log files, that you can find in /var/local/log/cms/ (if CMS was running installed) or in ./log (if it was running from the local copy).

If you encountered a bug, please file an issue on GitHub following the instructions in the issue template.

Please don't file issues to ask for help, we are happy to help on the mailing list or on gitter, and it is more likely somebody will answer your query sooner.

You can subscribe to to receive announcements of new releases and other important news. Register on Google Groups.

For development queries, you can write to and as before subscribe or see the archives on Google Groups.


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.

You can’t perform that action at this time.