Changelog

All notable changes to InstantGrade will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

0.1.19 - 2026-05-01

Added

  • Streamlit UI launch workflow via instantgrade launch

  • Support for uploading one instructor notebook and multiple student notebooks in the UI

  • Support for uploading additional dataset and supporting files for notebook grading

  • Student notebook generation from an instructor solution notebook

  • Run history with downloadable HTML reports, PDF reports, and execution logs

Changed

  • instantgrade launch now falls back to the next free port when the requested port is unavailable

  • Documentation now clearly separates local mode from Docker-backed mode

  • Sphinx docs now include install, quick start, usage, examples, and API pages referenced by the site navigation

  • Package version and docs release metadata bumped to 0.1.19

Fixed

  • Local notebook grading now executes per-question context code before assertions

  • Local notebook grading now resolves supporting dataset files from the correct working directory

  • Docker grading now copies supporting files into the container workspace

  • Docker image reuse now accounts for local source changes to avoid stale cached container code

0.1.0 - 2025-12-01

Added

  • Initial release of InstantGrade

  • Core Evaluator class for automated grading

  • Support for Jupyter notebooks (.ipynb)

  • Support for Excel files (.xlsx, .xls)

  • Cell-by-cell output comparison

  • HTML report generation

  • Command-line interface (CLI)

  • Batch processing capabilities

  • Configurable timeout settings

  • Error handling and reporting

  • Python API and CLI interface

  • Multi-platform support (Windows, macOS, Linux)

  • GitHub Actions CI/CD workflows

  • PyPI publishing automation

  • Comprehensive test suite

Dependencies

  • openpyxl >= 3.0.0

  • pandas >= 1.0.0

  • nbformat >= 5.0.0

  • nbclient >= 0.5.0

  • click >= 7.0

Documentation

  • README with installation and usage instructions

  • PUBLISHING.md for release guidelines

  • LICENSE.txt (MIT License)

Infrastructure

  • GitHub Actions workflows for testing

  • GitHub Actions workflows for PyPI publishing

  • Multi-Python version testing (3.8-3.12)

  • Multi-OS testing (Ubuntu, Windows, macOS)

Release Notes

Version 0.1.0

InstantGrade 0.1.0 is the first public release! 🎉

This release provides a solid foundation for automated grading of Python notebooks and Excel files. Key features include:

  • Easy Installation: Available on PyPI via pip install instantgrade

  • Jupyter Notebook Support: Execute and compare notebook outputs

  • Excel Support: Compare spreadsheet data across multiple sheets

  • Automated Reporting: Generate detailed HTML reports

  • Flexible API: Use via Python API or command-line interface

  • Well-Tested: Comprehensive test coverage across platforms

Upgrade Guide

This is the initial release, no upgrade steps needed.

Known Issues

None at this time. Please report issues on GitHub.

Future Plans

Planned for 0.2.0

  • Support for additional file formats (CSV, JSON)

  • Customizable report templates

  • Parallel processing for faster batch grading

  • Integration with popular LMS platforms

  • Enhanced comparison algorithms

  • Plugin system for custom comparisons

Long-term Roadmap

  • Web-based dashboard for viewing results

  • API for integration with other tools

  • Support for R notebooks

  • Machine learning model comparison

  • Automated feedback generation

  • Student analytics and insights

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.