Skip to content

Latest commit

 

History

History
63 lines (44 loc) · 2.37 KB

README.md

File metadata and controls

63 lines (44 loc) · 2.37 KB

pythonwhat

Build Status codecov PyPI version Documentation Status

Verify Python code submissions and automatic generation of meaningful feedback. Originally developed for Python exercises on DataCamp, to be used in so-called Submission Correctness Tests, but can also be used independently.

Installation

# latest stable version from PyPi
pip install pythonwhat

# latest development version from GitHub
pip install git+https://github.com/datacamp/pythonwhat

Demo

To experiment locally, you can use setup_state() and write SCTs interactively. The code throws an error when the underlying checks fail.

from pythonwhat.local import setup_state
s = setup_state(stu_code = "x = 5", sol_code = "x = 4")

s.check_object('x')
# No error: x is defined in both student and solution process

s.check_object('x').has_equal_value()
# TestFail: Check the variable `x`. Unexpected expression value: expected `4`, got `5`.

# Debugging state
s._state               # access state object
dir(s._state)          # list all attributes of the state object
s._state.student_code  # access student_code of state object

To learn how to include an SCT in a DataCamp course, visit https://authoring.datacamp.com.

Run tests

Use Python 3.5

# install packages used in tests (should be reduced)
pip install -r requirements.txt

# install pythonwhat
cd /path/to/pythonwhat
pip install -e .
pytest

To disable deprecation warnings: $ export PYTHONWARNINGS="ignore"

For more details, questions and suggestions, contact learn-engineering@datacamp.com.