Skip to main content

LAN programming judge

Project description


<p><a href=””><img src=”” alt=”Build Status” /></a> <a href=””><img src=”;service=github” alt=”Coverage Status” /></a></p>

<p>A judge I made to judge the programming competitions in college. It requires a web interface to function.</p>

<p>Language support is unlimited, as long as you can write a shell script for it. The interface I use is <a href=””>judge-interface</a>. The interface ships with</p>

<ul> <li>python3</li> <li>python2</li> <li>gcc</li> <li>g++</li> </ul>


<ul> <li>Judging programs by hand quickly becomes an experience best forgotten</li> <li>Roll my own</li> </ul>


<p><code> cd ~ mkdir judge cd judge virtualenv -p python3 env source env/bin/activate pip install openjudge </code></p>

<p>In order to setup the interface one can do the following.</p>

<p><code> cd ~ git clone cd judge-interface ./ </code></p>

<ol> <li><code>./</code> does most of the work for you.</li> <li>Set the SLAVE_ADDRESSES in by default it is set to</li> </ol>

<p>The interface is set up as a standard django server. I prefer using Nginx,Gunicorn as a combination. Check my <a href=””>blog</a> for how to set that up. <code></code> does this for you.</p>

<p>Note that the judge will have to run on a linux like machine. I shamelessly used redirection and I have no idea how they translate on a windows box if they do at all. Besides that, the interface can run on another machine and the judge on another.</p>

<h2>Usage during the competition</h2>

<ol> <li>Run the interface with <code>./</code></li> <li>Register users: <ul> <li>Register users with <code>python</code> using a python shell at the registration desk. the file can be found in <code>judge-interface/webserver/</code></li> <li>This can also be done via the Django Admin</li> </ul></li> <li>Run the judge with <code>python -c ‘from openjudge.slave import Slave;Slave().run()’</code></li> <li>Tell everyone to navigate to the webserver. It will be something like <code></code></li> <li>Enjoy the fruits of watching a hundred people program.</li> </ol>


<p>Some features are not available. If you want you can implement them yourself.</p>

<ul> <li>No sandboxing.</li> </ul>

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
openjudge-0.2.5.tar.gz (6.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page