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.gitignore
file wheremacOS.gitignore
andWindows.gitignore
are 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/examples
to 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
maintain
permission. - (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
cs3560cli-0.4.0.tar.gz
(41.4 kB
view details)
Built Distribution
cs3560cli-0.4.0-py3-none-any.whl
(42.4 kB
view details)
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 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:
- Predicate 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 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:
- Predicate type: