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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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