Skip to main content

A Python package for automating grading of Jupyter notebook files.

Project description

jupyterquest: The Advanced .ipynb Autograder

Category Badges
Website Netlify Status
Testing GitHub Workflow Status
License License
Version Version

Overview

jupyterquest is a comprehensive autograding tool designed to elevate the standard of Jupyter Notebook (.ipynb) submissions. Seamlessly integrated with GitHub Actions, it provides an automated evaluation process that spans across code style, structure, commit history, security vulnerabilities, and dependency checks. This tool is invaluable for educators, mentors, and development teams aiming to uphold best practices in code quality, security, and project organization.

Features

  • Code Style and Formatting Checks: Enforces best practices and consistency in coding styles.
  • Code Structure Analysis: Assesses the organization and readability of code for maintainability.
  • Commit Message Quality: Evaluates the clarity and conformity of commit messages to best practices.
  • Repository Structure Validation: Ensures a logical and standardized file organization within repositories.
  • Security Vulnerability Scans: Identifies known vulnerabilities in project dependencies to ensure code safety.
  • Dependency Analysis: Checks for outdated or insecure dependencies that might compromise the project.
  • Extensible and Automated: Designed for easy integration with CI/CD workflows, offering customizable options to meet various grading and analysis needs.

Getting Started

Prerequisites

  • A GitHub account and a basic understanding of GitHub Actions.
  • Knowledge of Jupyter Notebooks and the .ipynb file format.

Installation

  1. Fork or Clone This Repository: Start by forking this repository to your account or cloning it directly to your local environment.

  2. Configure GitHub Actions: In your repository on GitHub, navigate to the 'Actions' tab. Set up a new workflow with the provided autograder.yml workflow file.

  3. Customize the Autograder (Optional): Adjust the autograder.py and other relevant scripts to fine-tune the grading criteria and checks according to your project or course requirements.

Usage

  • Automatic Execution: jupyterquest runs automatically with each push to the repository, thanks to GitHub Actions integration.
  • Reports: The autograder generates detailed Markdown reports, offering actionable insights on code improvements and highlighting commendable practices.

Contribution

We encourage contributions! If you're interested in enhancing jupyterquest or adding new features, please consult our contributing guidelines for more information on how to get started.

License

jupyterquest is made available under the MIT License. For more details, see the LICENSE file.

Support and Contact

Need help or have questions? Feel free to open an issue in this repository for support and inquiries.

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

jupyterquest-0.3.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

jupyterquest-0.3.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file jupyterquest-0.3.0.tar.gz.

File metadata

  • Download URL: jupyterquest-0.3.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for jupyterquest-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b5e70a7a1e3dbaffd590b9de448937ecbe3eba38c670f33747fad67e16274571
MD5 e2792497f84353c3c50ac9b3fac0cf18
BLAKE2b-256 12cebcb981371fb9167aea9ddfa8f655c703925687c32f52e93bc1ce79b7dfa7

See more details on using hashes here.

File details

Details for the file jupyterquest-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterquest-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e32111a624cf6275cf406e4a15e72c34d7a5f00f0609b9354036fb60fe783fad
MD5 3d3ec2a568d95c9da057774cc4fd6450
BLAKE2b-256 14a769d4b0d00d9541660516bfd58210b6c03de4e2283cecc6caf14acb9b3523

See more details on using hashes here.

Supported by

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