All Projects → okpy → Ok

okpy / Ok

Licence: apache-2.0
ok.py supports programming projects by running tests, tracking progress, and assisting in debugging.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ok

Rest Api Sections
A small repository of projects built in my course, REST APIs with Flask and Python.
Stars: ✭ 645 (+181.66%)
Mutual labels:  flask, education
Ctfd
CTFs as you need them
Stars: ✭ 3,768 (+1545.41%)
Mutual labels:  flask, education
Programmieren In Rust
Course page „Programmieren in Rust“, University Osnabrück (German!)
Stars: ✭ 222 (-3.06%)
Mutual labels:  education
Functional Light Js
Pragmatic, balanced FP in JavaScript. @FLJSBook on twitter.
Stars: ✭ 14,764 (+6347.16%)
Mutual labels:  education
Learn
A social network of lifelong learners built around humanity's universal learning map.
Stars: ✭ 224 (-2.18%)
Mutual labels:  education
Sitepoint Source
Source code for my articles on Sitepoint (since March 2015)
Stars: ✭ 223 (-2.62%)
Mutual labels:  education
Autoline
建议你使用更新的AutoLink平台
Stars: ✭ 227 (-0.87%)
Mutual labels:  flask
Flaskmovie
【正在改版开发中,请勿使用!】Flask电影网站前台+后台管理。
Stars: ✭ 221 (-3.49%)
Mutual labels:  flask
Snap N Eat
Food detection and recommendation with deep learning
Stars: ✭ 229 (+0%)
Mutual labels:  flask
Flask Paginate
Pagination support for flask
Stars: ✭ 223 (-2.62%)
Mutual labels:  flask
Flask Base
A simple Flask boilerplate app with SQLAlchemy, Redis, User Authentication, and more.
Stars: ✭ 2,680 (+1070.31%)
Mutual labels:  flask
Books
Awesome Books
Stars: ✭ 3,242 (+1315.72%)
Mutual labels:  education
Flask Jsonrpc
A basic JSON-RPC implementation for your Flask-powered sites
Stars: ✭ 223 (-2.62%)
Mutual labels:  flask
Flask Restplus
Fully featured framework for fast, easy and documented API development with Flask
Stars: ✭ 2,585 (+1028.82%)
Mutual labels:  flask
Uportal
Enterprise open source portal built by and for the higher education community.
Stars: ✭ 221 (-3.49%)
Mutual labels:  education
30 Seconds Of Css
Short CSS code snippets for all your development needs
Stars: ✭ 14,945 (+6426.2%)
Mutual labels:  education
Titan
Create Discord server widgets for websites of all sizes! A simple to setup process for end-users. Server members may view or send messages into an embedded Discord channel.
Stars: ✭ 221 (-3.49%)
Mutual labels:  flask
Awesomespotlightview
Awesome tool for create tutorial walkthrough or coach tour
Stars: ✭ 225 (-1.75%)
Mutual labels:  education
Flask Common
A Flask extension with lots of common time-savers (file-serving, favicons, etc).
Stars: ✭ 227 (-0.87%)
Mutual labels:  flask
Micromsg Bot
微信表情机器人
Stars: ✭ 230 (+0.44%)
Mutual labels:  flask

Logo

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.

Build Status Coverage Status Docker Repository on Quay

View Documentation at OK Documentation

Installation

To install:

  • Clone this repo
  • Install virtualenv. You can do brew install virtualenv on a mac or pip install virtualenv or apt-get install python-virtualenv
    • If brew cannot find virtualenv, use brew install pyenv-virtualenv.
  • Create a virtualenv with virtualenv -p python3 env
  • Activate the virtualenv with source env/bin/activate
  • (Optional, but recommended) Install redis-server. You can do brew install redis on a mac or apt-get install redis-server

Local 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

Running Workers

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.

Command Line Manager

  • To view available commands run ./manage.py once the virtualenv is activated.

Customizing seed content

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.

Server Development

The server is developed in Python 3.5+ using Flask.

Core Features

Backup Maintenance

  • Best-effort maintenance of student backups that occur when ok is run.

Composition Grading

  • Allow staff to comment on student composition of projects and assign grades.

Autograding

  • Automatic grading of student submissions

Projects using ok.py

  • CS61A uses ok.py for all assignments.
  • Many other UC Berkeley CS courses use ok.py

Developer Guidelines

See documentation/CONTRIBUTING.md

Recent activity:

Throughput Graph

Deploying

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.

Python Style Guide

Refer to The Elements of Python Style

Some useful things for developers to know:

  1. Testing with ok-client
    • To test with ok-client, please follow the instructions for the ok-client repo here.
    • Once you are inside the virtual environment for ok-client, you can make a new binary by using the command ok-publish.
    • Start the local ok server.
    • When running the ok binary, add the flags --insecure --server localhost:<port> to point it to the running ok-server
    • To find demo assignments that you can use the binary with, look in ok-client/demo
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].