okpy / ok-client

A Python client for the OK autograding system
https://okpy.org/
Apache License 2.0
57 stars 42 forks source link
autograder cs-education jupyter-notebook python python3

ok client

The ok client script (written in Python) supports programming projects by running tests, tracking progress, and assisting in debugging.

Visit http://okpy.org to use our hosted service for your course.

The ok client software was developed for CS 61A at UC Berkeley.

Build Status PyPI Version

Developer Instructions

Installation

  1. Clone this repo
  2. Install virtualenv
  3. Create a virtual environment:

    virtualenv -p python3 env
  4. Activate the virtual environment:

    source env/bin/activate
  5. Install requirements and set up development environment:

    pip install -r requirements.txt
    python3 setup.py develop

Contributing

Every time you begin, you should activate the virtual environment:

source env/bin/activate

All code for the client is found in the client/ directory.

There is an executable called ok in the virtualenv path that will run your code locally. You can use the example assignments in the demo/ directory to play around:

cd demo/ok_test
ok -q q2

The tests/ directory mirrors the directory structure of the client/ directory. Every component of the client should have plenty of tests. To run all tests, use the following command:

nose2

Releasing an ok-client version

First make sure that

To deploy a new version of ok-client, change to the master branch and run

./release.py vX.X.X

where vX.X.X is the new version. This will: