InstantGrade Documentation¶
Welcome to InstantGrade, an automated evaluation framework for grading Python Jupyter notebooks and Excel spreadsheets. InstantGrade simplifies the assessment process by comparing student submissions against reference solutions and generating comprehensive HTML reports.
Contents
- Installation
- Quick Start Guide
- Usage Guide
- Examples
- Example 1: Basic Data Analysis Assignment
- Example 2: Excel Spreadsheet Evaluation
- Example 3: Multi-Assignment Grading
- Example 4: Custom Report Processing
- Example 5: Automated Feedback Emails
- Example 6: Integration with Learning Management System
- Example 7: Continuous Integration
- Example 8: Custom Comparison Tolerance
- Example 9: Batch Processing with Progress
- Example 10: Machine Learning Assignment
- Tips for Each Example
- Next Steps
- API Reference
- Contributing to InstantGrade
- Changelog
What is InstantGrade?¶
InstantGrade is a powerful tool designed for educators and course administrators who need to:
✅ Automate grading of Jupyter notebooks and Excel files
📊 Compare outputs between student submissions and reference solutions
📝 Generate reports showing detailed comparisons and scores
⚡ Save time by eliminating manual comparison work
🎯 Ensure consistency in grading across multiple submissions
Key Features¶
🐍 Python Notebook Support¶
Execute and compare Jupyter notebooks
Cell-by-cell output comparison
Variable state tracking
Error handling and reporting
📊 Excel File Support¶
Compare spreadsheet data
Support for multiple sheets
Formula validation
Cell-by-cell difference highlighting
📈 Comprehensive Reporting¶
HTML reports with detailed comparisons
Visual diff highlighting
Score calculations
Execution logs and error tracking
🔧 Flexible Configuration¶
Customizable evaluation criteria
Support for multiple file formats
Batch processing capabilities
CLI and Python API
Quick Example¶
from instantgrade import Evaluator
# Initialize the evaluator
evaluator = Evaluator(
solution_path="solution.ipynb",
submissions_dir="submissions/",
report_dir="reports/"
)
# Run evaluation
evaluator.run()
# Results are saved in reports/ directory
Use Cases¶
Education¶
Grade programming assignments
Evaluate data analysis projects
Assess Excel spreadsheet exercises
Provide detailed feedback to students
Training¶
Evaluate workshop exercises
Check coding bootcamp submissions
Assess certification exams
Research¶
Validate experimental results
Compare data analysis outputs
Reproduce computational research
Get Started¶
Community & Support¶
Issues: Report bugs or request features on GitHub Issues
License¶
InstantGrade is released under the MIT License. See the LICENSE file for details.