A Python package for automating grading of Jupyter notebook files.
Project description
jupyterquest: The Advanced .ipynb Autograder
Category | Badges |
---|---|
Website | |
Testing | |
License | |
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
-
Fork or Clone This Repository: Start by forking this repository to your account or cloning it directly to your local environment.
-
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. -
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5e70a7a1e3dbaffd590b9de448937ecbe3eba38c670f33747fad67e16274571 |
|
MD5 | e2792497f84353c3c50ac9b3fac0cf18 |
|
BLAKE2b-256 | 12cebcb981371fb9167aea9ddfa8f655c703925687c32f52e93bc1ce79b7dfa7 |
File details
Details for the file jupyterquest-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: jupyterquest-0.3.0-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e32111a624cf6275cf406e4a15e72c34d7a5f00f0609b9354036fb60fe783fad |
|
MD5 | 3d3ec2a568d95c9da057774cc4fd6450 |
|
BLAKE2b-256 | 14a769d4b0d00d9541660516bfd58210b6c03de4e2283cecc6caf14acb9b3523 |