The ok.py server collects submissions and displays analysis of student progress based on logging sent from client scripts.
Courses can sign up for our free hosted service on okpy.org
The ok.py software was developed for CS 61A at UC Berkeley.
View Documentation at OK Documentation
To install:
virtualenv
. You can do brew install virtualenv
on a mac or pip install virtualenv
or apt-get install python-virtualenv
virtualenv
, use brew install pyenv-virtualenv
.virtualenv -p python3 env
source env/bin/activate
redis-server
. You can do brew install redis
on a mac or apt-get install redis-server
To run the server locally:
$ source env/bin/activate # for virtualenv
$ pip install -r requirements.txt # to install libraries
$ ./manage.py createdb
$ ./manage.py seed
$ ./manage.py server
The server will listen on http://localhost:5000.
If you are running into issues - see documentation/SETUP.md
or file an issue
To run workers locally:
$ ./manage.py worker
To be able to run the workers you should have a redis
server installed and running.
If redis
is not installed you can install it using your distribution's package
manager or follow Redis Quick Start.
./manage.py
once the virtualenv is activated.server/generate.py
initializes the local server with sample content (Users, Assignments, a Course etc). You can customize it by changing the file and running ./manage.py resetdb
.
The server is developed in Python 3.5+ using Flask.
Backup Maintenance
Composition Grading
Autograding
See documentation/CONTRIBUTING.md
Recent activity:
Docker + Kubernetes on Google Container Engine. See kubernetes/kubernetes.md
for more info.
The ok-server also supports deployments to Heroku or servers on any major hosting service.
There also exists a one-click setup for ok-server on Azure.
Refer to The Elements of Python Style
Some useful things for developers to know:
ok-publish
.--insecure --server localhost:<port>
to point it to the running ok-server