Skip to content

Python autograder - #396

Merged
sayomaki merged 17 commits into
masterfrom
python-autograder
Sep 1, 2026
Merged

sayomaki merged 17 commits into
masterfrom
python-autograder

Conversation

@sayomaki

Copy link
Copy Markdown
Contributor

This PR adds support the python autograder, using the py2js backend in py-slang. Python evaluation results are captured from the print output, so any testcases must print the result.

Notable changes:

  • New script to build the runtime of py2js, with compiled version committed under vendor/
  • Split up the python autograder and legacy javascript autograder into separate files
  • Updated tests to work with python autograder and added some new tests for grader dispatch and python evaluation

The python autograder is chosen and used by default, if it is needed to use the legacy javascript grader, the language field from the autograder payload must be specified to be javasacript.

Currently, runes and other modules are not working in the python autograder, support will hopefully be added in a future PR.

@sayomaki
sayomaki requested a review from RichDom2185 August 30, 2026 11:05
@sayomaki sayomaki self-assigned this Aug 30, 2026
@sayomaki

sayomaki commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

I'll just go ahead and merge this, it is pretty important to get the autograder working.

@sayomaki
sayomaki merged commit 5ddde3b into master Sep 1, 2026
10 checks passed
@sayomaki
sayomaki deleted the python-autograder branch September 1, 2026 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant