Skip to main content

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.

Metadata

Release files for jupyterquest 0.3.0

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

Source distribution (sdist)

Source distribution for jupyterquest 0.3.0
File Size Uploaded
jupyterquest-0.3.0.tar.gz 11.8 kB Details

Built distribution (wheel)

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

Total release size: 27.1 kB

Release files / jupyterquest-0.3.0.tar.gz

Download URL jupyterquest-0.3.0.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b5e70a7a1e3dbaffd590b9de448937ecbe3eba38c670f33747fad67e16274571
BLAKE2b-256 checksum
How to use checksums
12cebcb981371fb9167aea9ddfa8f655c703925687c32f52e93bc1ce79b7dfa7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.6

Release files / jupyterquest-0.3.0-py3-none-any.whl

Download URL jupyterquest-0.3.0-py3-none-any.whl
Size 15.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e32111a624cf6275cf406e4a15e72c34d7a5f00f0609b9354036fb60fe783fad
BLAKE2b-256 checksum
How to use checksums
14a769d4b0d00d9541660516bfd58210b6c03de4e2283cecc6caf14acb9b3523
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.1.1

2 release files

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