cs3560cli
A set of internal tools for Ohio University's CS3560 course.
Installation
python -m pip install cs3560cli
Features
categorize: Group students submitted files and put them in a folder. One folder for each student.create gh-invite: Invite students to a team in GitHub organization using data from Canvas.create gitignore: Create an opinionated.gitignorefile wheremacOS.gitignoreandWindows.gitignoreare included by default.watch: Watch for (and extract) the zip file.highlight: Create HTML fragments of a syntax highlighted snippet of code that can then be embedded in LMS. For an image of the source code, you may want to use Charm's freeze instead.check github-username: Check if the GitHub or Codewars username the student provided actually exist or not.
Examples
categorize
highlight
Scenario
New semester preparation
- Obtain the list of enrolled students.
- Creating a team in GitHub organization.
- Add
OU-CS3560/examplesto the team. - Invite all students into the team in GitHUb organization.
Requirements
gh extension install mislav/gh-repo-collab
$TeamName = "entire-class-24f"
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/orgs/OU-CS3560/teams \
-f name="$TeamName" \
-f notification_setting='notifications_disabled' \
-f privacy='closed'
gh repo-collab add OU-CS3560/examples "OU-CS3560/$TeamName" --permission read
python -m cs3560cli github bulk-invite
Creating repositories for teams
- (manual) Obtain team information (internal-id, members).
- Create a team.
- Create a repository.
- Add team to the repository with
maintainpermission. - (manual) Invite students to the team.
Requirements
gh extension install mislav/gh-repo-collab
$TeamId = ""
$TeamHandle = "OU-CS3560/" + $TeamId
$RepoHandle = "OU-CS3560/" + $TeamId
$ParentTeamId = python -m cs3560cli github get-team-id OU-CS3560 entire-class-24f | Out-String
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/orgs/OU-CS3560/teams \
-f parent_team_id=$ParentTeamId \
-f name="$TeamId" \
-f notification_setting='notifications_disabled' \
-f privacy='closed'
gh repo create --private --template OU-CS3560/team-template $RepoHandle
gh repo-collab add $RepoHandle $TeamHandle --permission maintain
Release files for cs3560cli 0.4.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 | |
|---|---|---|---|
| cs3560cli-0.4.0.tar.gz | 41.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cs3560cli-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.9 kB
Release files / cs3560cli-0.4.0.tar.gz
| Download URL | cs3560cli-0.4.0.tar.gz |
|---|---|
| Size | 41.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2522217f713b1d1d235089ed3b3aee1b01f7bb2a5daceda89ec4f2b5bf9a1724
|
|
BLAKE2b-256 checksum How to use checksums |
4e3f447eba7ce8803cda0c7c59ed3ec0740be4a07414f98e27f74bc7fbc2f429
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 14, 2024.
Transparency logRelease files / cs3560cli-0.4.0-py3-none-any.whl
| Download URL | cs3560cli-0.4.0-py3-none-any.whl |
|---|---|
| Size | 42.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b3ccab0518fe0d27a8016047b930063d50298554a45c1559d7018f643678cfd1
|
|
BLAKE2b-256 checksum How to use checksums |
a1dcbbd74526ae201499b5d524a9d141e20da92810d0dacc38e16d8f2462f76f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 14, 2024.
Transparency log