Skip to main content

Pytest extension for scoring programming assignments.

Project description

pytest-grader

A pytest plugin for testing and scoring programming assignments.

Features

  • Assignment Scoring
    • Add point values to test functions using the @points(n) decorator
    • Show a score summary when running pytest --score
  • Test Locking as described in Basu et al., Automated Problem Clarification at Scale (abstract, pdf)
    • Lock doctests using the @lock decorator.
    • python3 pytest-grader --lock [src] [dest] will generate a copy of src with doctests locked.
    • pytest --unlock provides an interactive interface for unlocking locked doctests.
  • Progress Logging
    • Snapshots of assignment files, test case results, and unlocking attempts are stored in a grader.sqlite.
    • This file is designed to be submitted along with the assignment as a record of how the assignment was completed.

Usage

Include a conftest.py file in the distribution of your assignment that contains pytest_plugins = ["pytest_grader"].

See the examples directory for more usage info.

License

A permissive license will be chosen shortly...

Updating versions

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest_grader-0.1.1.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytest_grader-0.1.1-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file pytest_grader-0.1.1.tar.gz.

File metadata

  • Download URL: pytest_grader-0.1.1.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for pytest_grader-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5a9e9eddd4905bdd34a8797551255d0dd2a7261d4bc9af4be13c0917ba43ddb6
MD5 83bc3251117210b22de88274394c7186
BLAKE2b-256 f2dfbad954aff1a1277ff7b954f3f414e383a19047cc6a9c20af93ddd9adc173

See more details on using hashes here.

File details

Details for the file pytest_grader-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pytest_grader-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for pytest_grader-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eacb8f803ead44c049f9b01e4c130b6530904a9eed92e2f4103deeb794863fde
MD5 a531d0d9314e37375d3fa6fe91ad3d37
BLAKE2b-256 54899872a2bd568039d4cdb79585de76b5ac6a01cbfa56f0ff5e22258e7f549b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page