Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jiegec/classroom-helper
A TUI utility to ease grading of GitHub Classroom courses.
https://github.com/jiegec/classroom-helper
github-classroom rust
Last synced: 10 days ago
JSON representation
A TUI utility to ease grading of GitHub Classroom courses.
- Host: GitHub
- URL: https://github.com/jiegec/classroom-helper
- Owner: jiegec
- Created: 2019-07-02T05:38:44.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-10-31T04:28:26.000Z (about 2 years ago)
- Last Synced: 2024-08-03T01:38:44.703Z (3 months ago)
- Topics: github-classroom, rust
- Language: Rust
- Homepage:
- Size: 113 KB
- Stars: 6
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Classroom Helper
A utility to ease the usage of GitHub Classroom.
It has the following features:
1. Fetch and update students' repos in parallel.
2. Grade students by running python3/bash scripts in parallel.
3. Check `git diff` and `git log` for whitebox grades.
4. Export all grades in UTF-8 csv format.
5. Easy to read configuration file using TOML.See `template.toml` for configuration example. You can run `cargo run -- -h` for command line help.
Key bindings in tui:
H J K L: navigate between panels
j k: scroll in panels
f F: fetch selected(f)/all(F) students
g G: grade blackbox for selected(g)/all(G) students
s d: save(s)/diff(d) results
[num]+b w: set blackbox(b)/whitebox(w) grade manually
r: repeat last grade for current student
t: bump template repo to newest version
c: edit commentIt expects grading scripts to output a JSON like the following format:
```json
{"grade": 100.0}
```If you want to print human readable scores to user and JSON to the helper in Python, use:
```python
data['grade'] = grade
if os.isatty(1):
print('得分:%d/100' % grade)
else:
print(json.dumps(data))
```