A set of internal tools for Ohio University's CS3560 course.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cs3560cli-0.4.0.tar.gz.
File metadata
- Download URL: cs3560cli-0.4.0.tar.gz
- Upload date:
- Size: 41.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2522217f713b1d1d235089ed3b3aee1b01f7bb2a5daceda89ec4f2b5bf9a1724
|
|
| MD5 |
ac4f54c37718fdb2518bd61776a7e43b
|
|
| BLAKE2b-256 |
4e3f447eba7ce8803cda0c7c59ed3ec0740be4a07414f98e27f74bc7fbc2f429
|
Provenance
The following attestation bundles were made for cs3560cli-0.4.0.tar.gz:
Publisher:
publish.yml on OU-CS3560/cs3560cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cs3560cli-0.4.0.tar.gz -
Subject digest:
2522217f713b1d1d235089ed3b3aee1b01f7bb2a5daceda89ec4f2b5bf9a1724 - Sigstore transparency entry: 148951131
- Sigstore integration time:
-
Permalink:
OU-CS3560/cs3560cli@de788be0b9cc1762dcea0d62652846fcd102a2d4 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/OU-CS3560
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@de788be0b9cc1762dcea0d62652846fcd102a2d4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file cs3560cli-0.4.0-py3-none-any.whl.
File metadata
- Download URL: cs3560cli-0.4.0-py3-none-any.whl
- Upload date:
- Size: 42.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3ccab0518fe0d27a8016047b930063d50298554a45c1559d7018f643678cfd1
|
|
| MD5 |
d2d59e2b114c7c6b494f539a0b7b2945
|
|
| BLAKE2b-256 |
a1dcbbd74526ae201499b5d524a9d141e20da92810d0dacc38e16d8f2462f76f
|
Provenance
The following attestation bundles were made for cs3560cli-0.4.0-py3-none-any.whl:
Publisher:
publish.yml on OU-CS3560/cs3560cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cs3560cli-0.4.0-py3-none-any.whl -
Subject digest:
b3ccab0518fe0d27a8016047b930063d50298554a45c1559d7018f643678cfd1 - Sigstore transparency entry: 148951132
- Sigstore integration time:
-
Permalink:
OU-CS3560/cs3560cli@de788be0b9cc1762dcea0d62652846fcd102a2d4 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/OU-CS3560
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@de788be0b9cc1762dcea0d62652846fcd102a2d4 -
Trigger Event:
push
-
Statement type: