Skip to main content

Interactive graded quizzes for Jupyter notebooks (nbgrader-jupyterquiz).

Project description

Versions

PyPI

Documentation and Support

Documentation Status Supported Python Versions

Open Source

License OpenSSF Scorecard

Coding Standards

Ruff pre-commit.ci status

Development Status

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Build Status Coveralls

nbgrader-jupyterquiz lets instructors embed interactive, gradeable quizzes directly inside Jupyter notebooks using a simple Markdown syntax. During nbgrader generate_assignment the quiz source is transformed into interactive quiz cells (powered by a fork of jupyterquiz), and the answer key is stripped from the released notebook.

Quizzes placed in an nbgrader Manually Graded Task cell are automatically graded: student responses are persisted to a responses.json sidecar as they answer, and nbgrader autograde evaluates them with partial-credit support. Per-question points (including fractions like {0.5}) are supported, and the Markdown syntax handles MathJax, code blocks, and multi-line content. See the graded-quizzes docs for the full workflow.

Installation

pip install nbgrader-jupyterquiz

Quick start

Register the preprocessor at the front of your nbgrader_config.py:

c.GenerateAssignment.preprocessors.insert(0, "nbgrader_jupyterquiz.CreateQuiz")

Write quizzes in Manually Graded Task cells using #### Quiz / #### End Quiz delimiters:

#### Quiz
* (SC) "What is the capital of France?"
  + "Paris"
  - "London"
  - "Berlin"
#### End Quiz

Run nbgrader generate_assignment — quiz regions are replaced with interactive widgets and the answer key is stripped from the released notebook. Student responses are auto-graded by nbgrader autograde.

See the documentation for the full quiz syntax, nbgrader pipeline, graded quizzes, and display options.

Credits

This package incorporates a fork of jupyterquiz (v2.9.6.4) by John M. Shea, copyright 2021–2025, used under the MIT License. See LICENSES/jupyterquiz-MIT.txt.

This package was scaffolded with Cookiecutter and the Ouranosinc/cookiecutter-pypackage project template.

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

nbgrader_jupyterquiz-0.5.0.tar.gz (136.3 kB view details)

Uploaded Source

Built Distribution

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

nbgrader_jupyterquiz-0.5.0-py3-none-any.whl (53.5 kB view details)

Uploaded Python 3

File details

Details for the file nbgrader_jupyterquiz-0.5.0.tar.gz.

File metadata

  • Download URL: nbgrader_jupyterquiz-0.5.0.tar.gz
  • Upload date:
  • Size: 136.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for nbgrader_jupyterquiz-0.5.0.tar.gz
Algorithm Hash digest
SHA256 1e85fdbe90d8ce680eea64955e581c73825fef765584cdce2620ee08e6bb5939
MD5 bc940dc1923ea277f5c9aee6de06b478
BLAKE2b-256 8cb2759b8a6e7d808f39257093b80de1981c4f96d774850bbe0fe7f0a469a6c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for nbgrader_jupyterquiz-0.5.0.tar.gz:

Publisher: publish-pypi.yml on PhilippRisius/nbgrader-jupyterquiz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nbgrader_jupyterquiz-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nbgrader_jupyterquiz-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d5e42c650fec3b05a7b74cc77def7ae4e9b95fabe6856cbf703c6dcb9d23501f
MD5 de31714b11a0c65e8c4ff191c228c6fc
BLAKE2b-256 f8306fc20bcd3c9d1f44f138ea36cc60b72ac3dd7ff8c69637f9cd614ed8bb98

See more details on using hashes here.

Provenance

The following attestation bundles were made for nbgrader_jupyterquiz-0.5.0-py3-none-any.whl:

Publisher: publish-pypi.yml on PhilippRisius/nbgrader-jupyterquiz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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