Repomate
Important: Repomate has changed name to RepoBee. Please see RepoBee's GitHub page for details.
Overview
Repomate is A CLI tool for administrating large amounts of GitHub repositories, geared towards teachers and GitHub Enterprise. Repomate is currently being used for the introductory courses in computer science at KTH Royal Technical Institute of Technology. The courses have roughly 200 students and several thousands of repositories, allowing us to test Repomate at quite a large scale.
Install
Repomate is on PyPi, so python3 -m pip install repomate should do the trick. See the
install instructions
for more elaborate instructions.
Getting started
The best way to get started with Repomate is to head over to the Docs, where you (among other things) will find the user guide. It covers the use of Repomate's varous commands by way of practical example, and should set you on the right path with little effort.
Why Repomate?
Repomate was developed at KTH Royal Technical Institute of Technology to help
teachers and teaching assistants administrate GitHub repositories. It is
inspired by the old
teachers_pet tool, with added
features and a user experience more to our liking. Features range from creating
student repositories based on master (template) repos, to opening and closing
issues in bulk, to assigning peer reviews and cloning repos in bulk. Some parts
of Repomate can be customized using a simple but powerful plugin
system. For example, the
repomate-junit4 plugin allows for
automatically running JUnit4 test classes on production code in student repos.
Below is the output from running repomate -h, giving brief descriptions of
each of the main features:
$ repomate -h
usage: repomate [-h] [-v]
{show-config,setup,update,migrate,clone,open-issues,
close-issues,list-issues,assign-reviews,
purge-review-teams,check-reviews,verify-settings}
...
A CLI tool for administering large amounts of git repositories on GitHub
instances. See the full documentation at https://repomate.readthedocs.io
positional arguments:
{show-config,setup,update,migrate,clone,open-issues,
close-issues,list-issues,assign-reviews,
purge-review-teams,check-reviews,verify-settings}
show-config Show the configuration file
setup Setup student repos.
update Update existing student repos.
migrate Migrate master repositories into the target
organization.
clone Clone student repos.
open-issues Open issues in student repos.
close-issues Close issues in student repos.
list-issues List issues in student repos.
assign-reviews Randomly assign students to peer review each others'
repos.
purge-review-teams Remove all review teams associated with the specified
students and master repos.
check-reviews Fetch all peer review teams for the specified student
repos, and check which assigned reviews have been done
(i.e. which issues have been opened).
verify-settings Verify your settings, such as the base url and the
OAUTH token.
optional arguments:
-h, --help show this help message and exit
-v, --version Display version info
Roadmap
As of December 17th 2018, Repomate's CLI is a stable release and adheres to Semantic Versioning 2.0.0. The internals of Repomate do not adhere to this versioning, so using Repomate as a library is not recommended.
The plugin system is still to be considered in the beta phase, as it has seen much less live action use than the rest of the CLI. Features are highly unlikely to be cut, but hooks may be modified as new use-cases arise.
License
This software is licensed under the MIT License. See the LICENSE file for specifics.
Metadata
Release files for repomate 1.1.3
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 |
|---|---|---|---|---|
| repomate-1.1.3.tar.gz | 37.4 kB | Without provenance | Details for repomate-1.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| repomate-1.1.3-py3-none-any.whl | Python 3 | none | any | Details for repomate-1.1.3-py3-none-any.whl |
Total release size: 80.4 kB
Release files / repomate-1.1.3.tar.gz
| Download URL | repomate-1.1.3.tar.gz |
|---|---|
| Size | 37.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a309f8ae64e21e4e7a05e18731c927154650d348277faeb93a6e09fd53ef3b60
|
|
BLAKE2b-256 checksum How to use checksums |
0c0fb55fca2d4384cacc39ef4dea77ea091a3a14af3a8d384bd55c42741d12df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2
|
Release files / repomate-1.1.3-py3-none-any.whl
| Download URL | repomate-1.1.3-py3-none-any.whl |
|---|---|
| Size | 43.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d3f2e34e91a14e80f033ab624d0012de16ccc847d9e9091c4a628cb72702af6f
|
|
BLAKE2b-256 checksum How to use checksums |
531b3b8a0a295eeb42cc19639e12930246e4507077c7dae66ee419cc8c997a05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2
|
Security for repomate 1.1.3
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.