Student-repos-handler
Simple tool to handle multiple repos at once, oriented to the grading of assignments in courses. It allows you to clone and update multiple repos at once, run commands in them, show summaries of the results, easily find and edit files, browse wiki pages, etc.
This tool is meant to run in a linux environment, though most of the functionality also runs in other OSs. It was built mostly to solve my own needs while grading AI assignments in UCSE DAR, but it's general enough to be used by anyone else.
Installation
Recommended (requires uv):
uv tool install student-repos-handler
You can also install it with pip or any other python package manager.
Usage
First you need to create a repos.config file in a directory where you will manage all of your students repos (for instance, something like /home/fisa/university_ai_course/2026_teams/).
In this file you will specify some configs for each repo you want to manage, plus some general configs related to the tools you want to use (code editor and browser).
Example contents:
editor: vscode
browser: firefox
repos:
capybara_team:
repo_url: git@github.com:capybara_team/assignments.git
description: "Alice Capybara, Bob Capybara, tags: experts,using_python,pending_grade"
server_url: https://www.team_capybara_website.com
has_wiki: true
toad_team:
repo_url: https://github.com/toad_team/grupo2_gomez_failla_ia_2026.git
description: "John Toad, Julia Toad, tags: novices,using_go,already_approved"
# ... and so on
With your repos.config file created, you can start using the repos command line tool from that directory.
You will probably want to run a repos update for the first time so all the repos are cloned, and then you can explore the rest of the utilities by checking the help with repos help.
Metadata
Release files for student-repos-handler 3.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| student_repos_handler-3.1.0.tar.gz | 8.4 kB | Without provenance | Details for student_repos_handler-3.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| student_repos_handler-3.1.0-py3-none-any.whl | Python 3 | none | any | Details for student_repos_handler-3.1.0-py3-none-any.whl |
Total release size: 17.6 kB
Release files / student_repos_handler-3.1.0.tar.gz
| Download URL | student_repos_handler-3.1.0.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d7bbb946ac3d8db74a8ecfdf06deff2ff86b00656f41f3ffbad40379b0d339ae
|
|
BLAKE2b-256 checksum How to use checksums |
aa2fe737888fbd1f616866c5aff437a6283ce3ba125def63f4bd4ca187c67308
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|
Release files / student_repos_handler-3.1.0-py3-none-any.whl
| Download URL | student_repos_handler-3.1.0-py3-none-any.whl |
|---|---|
| Size | 9.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f7500b7dc2781de49f910c035492b19595bab6ec19dab2a616856bf594b42544
|
|
BLAKE2b-256 checksum How to use checksums |
13b3cb528b12925832461fa822144917640d832f92d840a4a8cf66ed2f1f36af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|
Security for student-repos-handler 3.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.