Skip to main content

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 where macOS.gitignore and Windows.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

categorize movie

highlight

highlight movie

Scenario

New semester preparation

  1. Obtain the list of enrolled students.
  2. Creating a team in GitHub organization.
  3. Add OU-CS3560/examples to the team.
  4. 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

  1. (manual) Obtain team information (internal-id, members).
  2. Create a team.
  3. Create a repository.
  4. Add team to the repository with maintain permission.
  5. (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)

Source distribution for cs3560cli 0.4.0
File Size Uploaded
cs3560cli-0.4.0.tar.gz 41.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cs3560cli 0.4.0
File Interpreter ABI Platform
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 log

Release 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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page