Skip to main content

gcr

Command-line utility for running a class on GitHub, a lightweight GitHub classroom replacement.

At the moment, this is early alpha software, use at your own risk.

Feedback welcome!

Installation

The recommended method for installation is uvx gcr.

Setup

  1. Set env variable GITHUB_TOKEN to a classic token with org & repo admin permissions.
  2. Manually create a GitHub organization for your classroom.
  3. Create a class.toml with your roster & settings. gcr will look for class.toml in the current directory, or you can pass the -c/--config option to specify the path.
org = "name-of-github-org"

students = [
  "list",
  "of",
  "student",
  "accounts",
]

staff = [
  "list",
  "of",
  "staff",
  "accounts",
]

staff_team = "staff"
student_team = "students"
student_permission = "push"
staff_permission = "maintain"
requests_per_minute = 60
retry_attempts = 3
retry_wait_seconds = 5

Usage

All commands take two options:

  • -c/--config: path to class.toml (default: current dir)
  • --dry-run: avoid making actual changes on GitHub

Initialize

gcr setup

Initialize GitHub organization and invite staff & students.

The organization must already exist and your API key must have access.

Create Assignment

gcr assign <template-repo-name>

Creates one private repo per student, granting access to their account & staff.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gcr_cli-0.2.0.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gcr_cli-0.2.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file gcr_cli-0.2.0.tar.gz.

File metadata

  • Download URL: gcr_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"NixOS","version":"25.11","id":"xantusia","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gcr_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6c77c398ae1542b50a7ed5197399e73cc1b2252ef05067005d859fcd60c8a15d
MD5 cb051ef12c4126a99d5397e120afeb00
BLAKE2b-256 30b12735bcca61f3364b647e823a29288bbcfda7c2ebd755c1740da268547ec4

See more details on using hashes here.

File details

Details for the file gcr_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: gcr_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"NixOS","version":"25.11","id":"xantusia","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gcr_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2bfad2c706f1a71d4dd048028b50b1411dc597e53eb9509e8336d4f1af459b9e
MD5 5c628b532c8e33b1172268eadc4cd7bf
BLAKE2b-256 1ca8e062ed2bc8a7c3f5105c163fef1e9d4eed607b7f51034b983205c5cc2f56

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page