Skip to main content

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 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

Project details


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)

Uploaded Source

Built Distribution

cs3560cli-0.4.0-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

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

Hashes for cs3560cli-0.4.0.tar.gz
Algorithm Hash digest
SHA256 2522217f713b1d1d235089ed3b3aee1b01f7bb2a5daceda89ec4f2b5bf9a1724
MD5 ac4f54c37718fdb2518bd61776a7e43b
BLAKE2b-256 4e3f447eba7ce8803cda0c7c59ed3ec0740be4a07414f98e27f74bc7fbc2f429

See more details on using hashes here.

Provenance

The following attestation bundles were made for cs3560cli-0.4.0.tar.gz:

Publisher: publish.yml on OU-CS3560/cs3560cli

Attestations:

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

Hashes for cs3560cli-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b3ccab0518fe0d27a8016047b930063d50298554a45c1559d7018f643678cfd1
MD5 d2d59e2b114c7c6b494f539a0b7b2945
BLAKE2b-256 a1dcbbd74526ae201499b5d524a9d141e20da92810d0dacc38e16d8f2462f76f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cs3560cli-0.4.0-py3-none-any.whl:

Publisher: publish.yml on OU-CS3560/cs3560cli

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page