Skip to main content

pythonwhat

Build Status PyPI version Documentation Status FOSSA Status

Verify Python code submissions and auto-generate meaningful feedback messages. Originally developed for Python exercises on DataCamp for 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.

# make all checking functions available
from pythonwhat.test_exercise import prep_context
_, ctxt = prep_context()
globals().update(ctxt)

# initialize state with student and solution submission
from pythonwhat.test_exercise import setup_state
setup_state(stu_code = "x = 5", sol_code = "x = 4")

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

Ex().check_object('x').has_equal_value()
# TestFail: Did you correctly define the variable `x`? Expected `4`, but got `5`.

# Debugging state
Ex()._state               # access state object
dir(Ex()._state)          # list all elements available in the state object
Ex()._state.student_code  # access student_code of state object

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

Run tests

pyenv local 3.12.7
pip3.12 install -r requirements-test.txt
pip3.12 install -e .
pytest

Contributing

Bugs? Questions? Suggestions? Create an issue, or contact us!

License

FOSSA Status

Metadata

Release files for pythonwhat 2.30.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pythonwhat 2.30.1
File Size Uploaded
pythonwhat-2.30.1.tar.gz 106.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pythonwhat 2.30.1
File Interpreter ABI Platform
pythonwhat-2.30.1-py3-none-any.whl Python 3 none any Details

Total release size: 191.9 kB

Release files / pythonwhat-2.30.1.tar.gz

Download URL pythonwhat-2.30.1.tar.gz
Size 106.3 kB
Tags Source
SHA-256 checksum
How to use checksums
802c20d0057f077bbc295140c1ed0045909487578831d2eea0a756ba14b02d80
BLAKE2b-256 checksum
How to use checksums
ce089b0527c336e532963d9f97d41598ee00dad7e94414850f373c6805c6b98e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.22

Release files / pythonwhat-2.30.1-py3-none-any.whl

Download URL pythonwhat-2.30.1-py3-none-any.whl
Size 85.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7e141aaed630898009ae351ca80ea2f79fe159ec5dec6ec8cf8766005a1ef234
BLAKE2b-256 checksum
How to use checksums
440844eddff11fcd9430f6c238af32f11df0ccf09e02a4789cc77815c4228aab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.22

Release history Release notifications | RSS feed

This release

2.30.1 This release

2 release files

2.30.0

2 release files

2.29.0

2 release files

2.28.0

2 release files

2.27.0

2 release files

2.26.0

2 release files

2.25.0

2 release files

2.24.0

1 release file

2.23.1

1 release file

2.23.0

1 release file

2.22.0

1 release file

2.21.0

1 release file

2.20.2

1 release file

2.20.1

1 release file

2.20.0

1 release file

2.19.0

1 release file

2.18.1

1 release file

2.18.0

1 release file

2.17.1

1 release file

2.17.0

1 release file

2.16.2

1 release file

2.16.1

1 release file

2.16.0

1 release file

2.15.3

1 release file

2.15.2

1 release file

2.15.1

1 release file

2.15.0

1 release file

2.14.2

1 release file

2.14.1

1 release file

2.14.0

1 release file

2.13.2

1 release file

2.13.1

1 release file

2.13.0

1 release file

2.12.6

1 release file

2.12.5

1 release file

2.12.4

1 release file

2.12.3

1 release file

2.12.2

1 release file

2.12.1

1 release file

2.12.0

1 release file

2.11.1

1 release file

2.11.0

1 release file

2.10.0

1 release file

2.9.7

1 release file

2.9.6

1 release file

2.9.4

1 release file

2.7.0

1 release file

2.6.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page