Command-line Interface

The package installs two console scripts:

Both CLIs share common infrastructure (authentication, configuration, output formatting) from gamesheet_sdk.common.

Rich Help Output

Both CLIs use rich-click to provide beautifully formatted help output with:

  • Grouped options — Configuration and general options are organized into separate sections for clarity

  • Grouped commands — Commands are categorized (Authentication, Resource Management) for easier navigation

  • Rich formatting — Tables, borders, and color-coded sections enhance readability

  • Consistent styling — All help pages follow the same visual design for a polished experience

Admin CLI

The admin CLI provides full resource management for the GameSheet admin dashboard.

gamesheet-admin

Unofficial CLI for the GameSheet admin dashboard.

Provides authentication, resource management, and utility commands.

param ctx:

Click context used to store the resolved Config.

type ctx:

Context

param base_url:

Override for the GameSheet base URL, or None to use the default.

type base_url:

str | None

param no_headless:

When True, show the browser window during Playwright flows.

type no_headless:

bool

param verbose:

Logging verbosity level (0 = WARNING, 1 = INFO, 2 = DEBUG).

type verbose:

int

Usage

gamesheet-admin [OPTIONS] [COMMAND] [ARGS]...

Options

-V, --version

Show the version and exit.

--base-url <base_url>

GameSheet base URL (default: https://gamesheet.app).

--no-headless

Show the browser window when running Playwright flows.

-v, --verbose

Increase logging verbosity (-v = INFO, -vv = DEBUG).

Environment variables

GAMESHEET_BASE_URL

Provide a default for --base-url

associations

Manage associations.

Invoking associations with no sub-command runs list by default.

Usage

gamesheet-admin associations [OPTIONS] COMMAND [ARGS]...
get

Get detailed information about a specific association.

The association ID can be provided via –association-id or the GAMESHEET_ASSOCIATION_ID environment variable. Requires a saved session from gamesheet-admin login – the bearer token is read out of the browser storage state on disk and attached to the HTTP request. No browser is launched. The output displays association metadata as key-value pairs, with each field on its own row.

param ctx:

Click context object containing config

type ctx:

Context

param association_id:

The association identifier

type association_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param fields_spec:

Optional comma-separated list of fields to display

type fields_spec:

str | None

Usage

gamesheet-admin associations get [OPTIONS]

Options

--association-id <association_id>

Required Association ID to retrieve details for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_ASSOCIATION_ID

Provide a default for --association-id

list

List all associations on your GameSheet account.

Requires authentication (run ‘gamesheet-admin login’ first). Retrieves all associations accessible by your account and displays them in the specified output format. .. rubric:: Examples

List all associations in default format:

$ gamesheet-admin associations list

List associations in JSON format:
$ gamesheet-admin associations list --format json

List associations with only id and title columns:
$ gamesheet-admin associations list --columns id,title

Save associations to a YAML file:
$ gamesheet-admin associations list --format yaml --output assocs.yaml
param ctx:

Click context object containing config

type ctx:

Context

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param columns_spec:

Optional comma-separated list of columns to display

type columns_spec:

str | None

Usage

gamesheet-admin associations list [OPTIONS]

Options

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

completion

Emit shell completion script for the specified shell.

Source the output to enable tab-completion:

eval "$(gamesheet-admin completion bash)"
param shell:

Target shell (bash, zsh, or fish).

type shell:

str

Usage

gamesheet-admin completion [OPTIONS] {bash|zsh|fish}

Arguments

SHELL

Required argument

divisions

Manage divisions within a season.

Invoking divisions with no sub-command runs list by default.

Usage

gamesheet-admin divisions [OPTIONS] COMMAND [ARGS]...
create

Create a new division in the specified season.

Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param title: Division name/title :type title: str :param external_id: Optional external identifier :type external_id: str | None :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None

Usage

gamesheet-admin divisions create [OPTIONS]

Options

--season-id <season_id>

Required Season ID in which to create the division.

--title <title>

Required Division name/title.

--external-id <external_id>

Optional external identifier for integration with third-party systems.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

delete

Delete a division.

Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param division_id: The division identifier to delete :type division_id: str

Usage

gamesheet-admin divisions delete [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the division.

--division-id <division_id>

Required Division ID to delete.

-f, --force

Skip the confirmation prompt and delete division immediately.

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

get

Get detailed information about a specific division.

The division ID can be provided via –division-id or the GAMESHEET_DIVISION_ID environment variable. Requires a saved session from gamesheet-admin login. The output displays division metadata as key-value pairs, with each field on its own row. :param ctx: Click context object containing config :type ctx: Context :param division_id: The division identifier :type division_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param fields_spec: Optional comma-separated list of fields to display :type fields_spec: str | None

Usage

gamesheet-admin divisions get [OPTIONS]

Options

--division-id <division_id>

Required Division ID to retrieve details for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_DIVISION_ID

Provide a default for --division-id

list

List all divisions in the specified season.

Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param columns_spec: Optional comma-separated list of columns to display :type columns_spec: str | None

Usage

gamesheet-admin divisions list [OPTIONS]

Options

--season-id <season_id>

Required Season ID to list divisions for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

teams

Manage teams within a division.

Invoking teams with no sub-command runs list by default.

Usage

gamesheet-admin divisions teams [OPTIONS] COMMAND [ARGS]...
create

Create a new team in the specified division.

Delegates to teams create functionality. :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param division_id: Division ID the team belongs to :type division_id: str :param title: Team name/title :type title: str :param external_id: Optional external identifier :type external_id: str | None :param logo_path: Optional path to a logo image file :type logo_path: str | None :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None

Usage

gamesheet-admin divisions teams create [OPTIONS]

Options

--season-id <season_id>

Required Season ID to create the team in.

--division-id <division_id>

Required Division ID the team belongs to.

--title <title>

Required Team name/title.

Optional path to a local logo image file.

--external-id <external_id>

Optional external identifier for the team.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_DIVISION_ID

Provide a default for --division-id

delete

Delete a team.

Delegates to teams delete functionality. :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param team_id: The team identifier to delete :type team_id: str

Usage

gamesheet-admin divisions teams delete [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the team.

--team-id <team_id>

Required Team ID to delete.

-f, --force

Skip the confirmation prompt and delete team immediately.

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

get

Get detailed information about a specific team.

Delegates to teams get functionality. :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param team_id: The team identifier :type team_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None

Usage

gamesheet-admin divisions teams get [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the team.

--team-id <team_id>

Required Team ID to retrieve.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List all teams in the specified division.

Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param division_id: The division identifier :type division_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param columns_spec: Optional comma-separated list of columns to display :type columns_spec: str | None

Usage

gamesheet-admin divisions teams list [OPTIONS]

Options

--division-id <division_id>

Required Division ID to list teams for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

Environment variables

GAMESHEET_DIVISION_ID

Provide a default for --division-id

update

Update an existing team.

Delegates to teams update functionality. :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param team_id: The team identifier to update :type team_id: str :param title: Optional new team name/title :type title: str | None :param division_id: Optional new division ID :type division_id: str | None :param external_id: Optional new external identifier :type external_id: str | None :param logo_path: Optional path to a new logo image file :type logo_path: str | None :param remove_logo: Remove the team’s logo :type remove_logo: bool :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None

Usage

gamesheet-admin divisions teams update [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the team.

--team-id <team_id>

Required Team ID to update.

Remove the team’s logo.

Path to a new logo image file.

--external-id <external_id>

New external identifier.

--division-id <division_id>

New division ID.

--title <title>

New team name/title.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

update

Update an existing division.

At least one of –title or –external-id must be provided. Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param division_id: The division identifier to update :type division_id: str :param title: Optional new division name/title :type title: str | None :param external_id: Optional new external identifier :type external_id: str | None :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :raises Exit: If neither title nor external_id is provided

Usage

gamesheet-admin divisions update [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the division.

--division-id <division_id>

Required Division ID to update.

--title <title>

New division name/title.

--external-id <external_id>

New external identifier.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

games

Manage games (scheduled, completed, brackets) within a season.

Invoking games with no sub-command runs scheduled by default. The –season-id option is required and applies to all sub-commands. :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str

Usage

gamesheet-admin games [OPTIONS] COMMAND [ARGS]...

Options

--season-id <season_id>

Required Season ID for games.

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

brackets

Manage bracket games.

Invoking brackets with no sub-command runs list by default.

Usage

gamesheet-admin games brackets [OPTIONS] COMMAND [ARGS]...
list

List all bracket games in the specified season.

NOT YET IMPLEMENTED - Bracket games support is planned for a future release.

param output_format:

Output format (ignored - command not implemented).

type output_format:

str

param output_path:

Output file path (ignored - command not implemented).

type output_path:

str | None

param columns_spec:

Columns specification (ignored - command not implemented).

type columns_spec:

str | None

raises Exit:

Always raised (exit code 1) because this command is not yet implemented.

Usage

gamesheet-admin games brackets list [OPTIONS]

Options

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

completed

Manage completed games.

Invoking completed with no sub-command runs list by default.

Usage

gamesheet-admin games completed [OPTIONS] COMMAND [ARGS]...
download

Download the PDF scoresheet for a completed game.

Requires authentication (run ‘gamesheet-admin login’ first). If –output-path is not specified, the filename is automatically generated from game details in the format: {date}-scoresheet-{id}-{visitor}-vs-{home}-{game_number}.pdf :param ctx: Click context object containing config :type ctx: Context :param game_id: The game identifier :type game_id: str :param output_path: File path where the PDF will be saved (optional) :type output_path: str | None

Usage

gamesheet-admin games completed download [OPTIONS]

Options

--game-id <game_id>

Required Game ID to download scoresheet for.

-o, --output-path <output_path>

File path where the PDF scoresheet will be saved. If not specified, generates a filename from game details.

Environment variables

GAMESHEET_GAME_ID

Provide a default for --game-id

get

Get detailed information about a completed game.

Returns full game details including rosters, goals, shots, penalties, and statistics. :param ctx: Click context object containing config :type ctx: Context :param game_id: The game identifier :type game_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param fields_spec: Optional comma-separated list of fields to display :type fields_spec: str | None

Usage

gamesheet-admin games completed get [OPTIONS]

Options

--game-id <game_id>

Required Game ID to retrieve.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_GAME_ID

Provide a default for --game-id

list

List all completed games in the specified season.

Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param columns_spec: Optional comma-separated list of columns to display :type columns_spec: str | None

Usage

gamesheet-admin games completed list [OPTIONS]

Options

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

scheduled

Manage scheduled games.

Invoking scheduled with no sub-command runs list by default.

Usage

gamesheet-admin games scheduled [OPTIONS] COMMAND [ARGS]...
create

Create a new scheduled game.

Requires authentication (run ‘gamesheet-admin login’ first). Provide any two of --start-datetime (or --start-date + --start-time), --end-datetime (or --end-date + --end-time), and --duration to automatically calculate the third. If time zone options are not specified, they default to the local system timezone.

param ctx:

Click context object containing config

type ctx:

Context

param start_datetime:

Start date and time (flexible format)

type start_datetime:

str | None

param end_datetime:

End date and time (flexible format)

type end_datetime:

str | None

param start_date:

Start date component

type start_date:

str | None

param start_time_str:

Start time component

type start_time_str:

str | None

param end_date:

End date component

type end_date:

str | None

param end_time_str:

End time component

type end_time_str:

str | None

param duration:

Game duration in minutes

type duration:

int | None

param home_team_id:

Home team identifier

type home_team_id:

str

param home_division_id:

Home team division identifier

type home_division_id:

str

param visitor_team_id:

Visitor team identifier

type visitor_team_id:

str

param visitor_division_id:

Visitor team division identifier

type visitor_division_id:

str

param location:

Game location/venue

type location:

str

param scorekeeper_name:

Scorekeeper’s full name

type scorekeeper_name:

str

param scorekeeper_phone:

Scorekeeper’s phone number

type scorekeeper_phone:

str

param game_type:

Game type

type game_type:

str

param time_zone_name:

IANA time zone name (optional, defaults to system)

type time_zone_name:

str | None

param time_zone_offset:

Time zone offset in minutes (optional, defaults to system)

type time_zone_offset:

int | None

param number:

Game number

type number:

str

param broadcaster:

Broadcast provider name

type broadcaster:

str

param home_label:

Home team label override

type home_label:

str

param visitor_label:

Visitor team label override

type visitor_label:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin games scheduled create [OPTIONS]

Options

--start-datetime <start_datetime>

Start date and time. Flexible date/time format (e.g., ‘2026-07-04 7:00pm’, ‘July 4 2026 19:00’, ‘2026-07-04T19:00:00-04:00’). If no timezone is specified, the system timezone is used. Mutually exclusive with –start-date/–start-time.

--end-datetime <end_datetime>

End date and time. Flexible date/time format (e.g., ‘2026-07-04 7:00pm’, ‘July 4 2026 19:00’, ‘2026-07-04T19:00:00-04:00’). If no timezone is specified, the system timezone is used. Mutually exclusive with –end-date/–end-time.

--start-date <start_date>

Start Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Use with –start-time.

--start-time <start_time_str>

Start Time component (e.g., ‘7:00pm’, ‘19:00’). Use with –start-date.

--end-date <end_date>

End Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Use with –end-time.

--end-time <end_time_str>

End Time component (e.g., ‘7:00pm’, ‘19:00’). Use with –end-date.

--duration <duration>

Game duration in positive minutes.

--home-team-id <home_team_id>

Required Home team identifier.

--home-division-id <home_division_id>

Required Home team division identifier.

--visitor-team-id <visitor_team_id>

Required Visitor team identifier.

--visitor-division-id <visitor_division_id>

Required Visitor team division identifier.

--location <location>

Game location/venue (optional). Format: ‘<location_name> <surface_name>’ (case-insensitive). Validated against API.

--scorekeeper-name <scorekeeper_name>

Scorekeeper’s full name (optional).

--scorekeeper-phone <scorekeeper_phone>

Scorekeeper’s phone number (optional).

--game-type <game_type>

Required Game type. Valid: playoff, exhibition, tournament, regular_season.

--time-zone-name <time_zone_name>

IANA time zone name (e.g., America/New_York). Defaults to system timezone.

--time-zone-offset <time_zone_offset>

Time zone offset in minutes (e.g., -240 for EDT). Defaults to system timezone offset.

--number <number>

Required Game number.

--broadcaster <broadcaster>

Broadcast provider key (optional, case-insensitive, e.g., LIVEBARN). Validated against API.

--home-label <home_label>

Home team label override (optional).

--visitor-label <visitor_label>

Visitor team label override (optional).

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

delete

Delete a scheduled game.

Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and requires confirmation unless –force is specified. :param ctx: Click context object containing config :type ctx: Context :param game_id: Game identifier :type game_id: str

Usage

gamesheet-admin games scheduled delete [OPTIONS]

Options

--game-id <game_id>

Required Game ID to delete.

-f, --force

Skip the confirmation prompt and delete this scheduled game immediately.

get

Get detailed information about a scheduled game.

Uses the JSON:API /api/seasons/{id}/schedule/{game_id} endpoint for richer structured data. :param ctx: Click context object containing config :type ctx: Context :param game_id: The game identifier :type game_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param fields_spec: Optional comma-separated list of fields to display :type fields_spec: str | None

Usage

gamesheet-admin games scheduled get [OPTIONS]

Options

--game-id <game_id>

Required Game ID to retrieve.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_GAME_ID

Provide a default for --game-id

list

List all scheduled games in the specified season.

Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param columns_spec: Optional comma-separated list of columns to display :type columns_spec: str | None

Usage

gamesheet-admin games scheduled list [OPTIONS]

Options

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

update

Update a scheduled game.

Requires authentication (run ‘gamesheet-admin login’ first). Only specified fields are updated; unspecified fields retain their current values. You may provide any combination of --start-datetime (or --start-date + --start-time), --end-datetime (or --end-date + --end-time), and --duration to automatically calculate missing time fields.

param ctx:

Click context object containing config

type ctx:

Context

param game_id:

Game identifier

type game_id:

str

param start_datetime:

Start date and time (flexible format)

type start_datetime:

str | None

param end_datetime:

End date and time (flexible format)

type end_datetime:

str | None

param start_date:

Start date component

type start_date:

str | None

param start_time_str:

Start time component

type start_time_str:

str | None

param end_date:

End date component

type end_date:

str | None

param end_time_str:

End time component

type end_time_str:

str | None

param duration:

Game duration in minutes

type duration:

int | None

param home_team_id:

Home team identifier

type home_team_id:

str | None

param home_division_id:

Home team division identifier

type home_division_id:

str | None

param visitor_team_id:

Visitor team identifier

type visitor_team_id:

str | None

param visitor_division_id:

Visitor team division identifier

type visitor_division_id:

str | None

param location:

Game location/venue

type location:

str | None

param scorekeeper_name:

Scorekeeper’s full name

type scorekeeper_name:

str | None

param scorekeeper_phone:

Scorekeeper’s phone number

type scorekeeper_phone:

str | None

param game_type:

Game type

type game_type:

str | None

param time_zone_name:

IANA time zone name

type time_zone_name:

str | None

param time_zone_offset:

Time zone offset in minutes

type time_zone_offset:

int | None

param number:

Game number

type number:

str | None

param broadcaster:

Broadcast provider name

type broadcaster:

str | None

param home_label:

Home team label override

type home_label:

str | None

param visitor_label:

Visitor team label override

type visitor_label:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin games scheduled update [OPTIONS]

Options

--game-id <game_id>

Required Game ID to update.

--start-datetime <start_datetime>

Start date and time. Flexible date/time format (e.g., ‘2026-07-04 7:00pm’, ‘July 4 2026 19:00’, ‘2026-07-04T19:00:00-04:00’). If no timezone is specified, the system timezone is used. Mutually exclusive with –start-date/–start-time.

--end-datetime <end_datetime>

End date and time. Flexible date/time format (e.g., ‘2026-07-04 7:00pm’, ‘July 4 2026 19:00’, ‘2026-07-04T19:00:00-04:00’). If no timezone is specified, the system timezone is used. Mutually exclusive with –end-date/–end-time.

--start-date <start_date>

Start Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Use with –start-time.

--start-time <start_time_str>

Start Time component (e.g., ‘7:00pm’, ‘19:00’). Use with –start-date.

--end-date <end_date>

End Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Use with –end-time.

--end-time <end_time_str>

End Time component (e.g., ‘7:00pm’, ‘19:00’). Use with –end-date.

--duration <duration>

Game duration in positive minutes.

--home-team-id <home_team_id>

Home team identifier.

--home-division-id <home_division_id>

Home team division identifier.

--visitor-team-id <visitor_team_id>

Visitor team identifier.

--visitor-division-id <visitor_division_id>

Visitor team division identifier.

--location <location>

Game location/venue. Format: ‘<location_name> <surface_name>’ (case-insensitive). Validated against API.

--scorekeeper-name <scorekeeper_name>

Scorekeeper’s full name.

--scorekeeper-phone <scorekeeper_phone>

Scorekeeper’s phone number.

--game-type <game_type>

Game type. Valid: playoff, exhibition, tournament, regular_season.

--time-zone-name <time_zone_name>

IANA time zone name (e.g., America/New_York)

--time-zone-offset <time_zone_offset>

Time zone offset in minutes (e.g., -240 for EDT)

--number <number>

Game number.

--broadcaster <broadcaster>

Broadcast provider key (case-insensitive, e.g., LIVEBARN). Validated against API.

--home-label <home_label>

Home team label override.

--visitor-label <visitor_label>

Visitor team label override.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

ipad-keys

Manage iPad / Scoring Access Keys for a season.

iPad keys (Scoring Access Keys) are credentials used by the GameSheet iPad app for live game scoring. Keys are season-specific and enable authorized devices to record scores, penalties, and game stats. Invoking ‘ipad-keys’ with no sub-command runs ‘get’ by default.

Usage

gamesheet-admin ipad-keys [OPTIONS] COMMAND [ARGS]...
get

Get iPad / Scoring Access Keys for a specific season.

Requires authentication (run ‘gamesheet-admin login’ first). Retrieves all iPad keys configured for the specified season. These keys are used by the GameSheet iPad app for live game scoring. The season ID can be provided via –season-id or the GAMESHEET_SEASON_ID environment variable. .. rubric:: Examples

Get all iPad keys for a season in default format:

$ gamesheet-admin ipad-keys get --season-id 12345

Get iPad keys in JSON format:
$ gamesheet-admin ipad-keys get --season-id 12345 --format json

Get iPad keys with only id and value columns:
$ gamesheet-admin ipad-keys --season-id 12345 --columns id,value

Save iPad keys to a CSV file:
$ gamesheet-admin ipad-keys get --season-id 12345 --format csv --output keys.csv

Use environment variable for season ID:
$ export GAMESHEET_SEASON_ID=12345
$ gamesheet-admin ipad-keys
param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param columns_spec:

Optional comma-separated list of columns to display

type columns_spec:

str | None

Usage

gamesheet-admin ipad-keys get [OPTIONS]

Options

--season-id <season_id>

Required Season ID to retrieve iPad keys for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

leagues

Manage leagues within an association.

A league represents a subdivision of an association, typically organized by division, age group, or skill level. Invoking ‘leagues’ with no sub-command runs ‘list’ by default.

Usage

gamesheet-admin leagues [OPTIONS] COMMAND [ARGS]...
get

Get detailed information about a specific league.

The league and association IDs can be provided via command-line options or environment variables (GAMESHEET_LEAGUE_ID, GAMESHEET_ASSOCIATION_ID). Requires a saved session from gamesheet-admin login. The output displays league metadata as key-value pairs, with each field on its own row. :param ctx: Click context object containing config :type ctx: Context :param association_id: The association identifier :type association_id: str :param league_id: The league identifier :type league_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param fields_spec: Optional comma-separated list of fields to display :type fields_spec: str | None

Usage

gamesheet-admin leagues get [OPTIONS]

Options

--association-id <association_id>

Required Association ID containing the league.

--league-id <league_id>

Required League ID to retrieve details for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_ASSOCIATION_ID

Provide a default for --association-id

GAMESHEET_LEAGUE_ID

Provide a default for --league-id

list

List all leagues in the specified association.

Requires authentication (run ‘gamesheet-admin login’ first). Retrieves all leagues belonging to the specified association and displays them in the specified output format. The association ID can be provided via –association-id or the GAMESHEET_ASSOCIATION_ID environment variable. .. rubric:: Examples

List all leagues in an association in default format:

$ gamesheet-admin leagues list --association-id ABC123

List leagues in JSON format:
$ gamesheet-admin leagues list --association-id ABC123 --format json

List leagues with only id and name columns:
$ gamesheet-admin leagues list --association-id ABC123 --columns id,name

Save leagues to a YAML file:
$ gamesheet-admin leagues list --association-id ABC123 --format yaml --output leagues.yaml

Use environment variable for association ID:
$ export GAMESHEET_ASSOCIATION_ID=ABC123
$ gamesheet-admin leagues list
param ctx:

Click context object containing config

type ctx:

Context

param association_id:

The association identifier

type association_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param columns_spec:

Optional comma-separated list of columns to display

type columns_spec:

str | None

Usage

gamesheet-admin leagues list [OPTIONS]

Options

--association-id <association_id>

Required Association ID to list leagues for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

Environment variables

GAMESHEET_ASSOCIATION_ID

Provide a default for --association-id

locations

Manage game locations and venues.

View available locations/venues and their surfaces for scheduling games.

Usage

gamesheet-admin locations [OPTIONS] COMMAND [ARGS]...
get

Get a specific location by ID.

Retrieve detailed information about a specific location using its UUID. The location ID can be found using the ‘list’ command.

Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param location_id: The location UUID :type location_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param fields_spec: Comma-separated list of fields to display :type fields_spec: str | None

Usage

gamesheet-admin locations get [OPTIONS]

Options

--location-id <location_id>

Required Location UUID to retrieve.

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

list

List all available locations.

Returns the list of locations/venues from the GameSheet API. Each location includes the venue name, surface/rink name, and geographic information.

Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param columns_spec: Comma-separated list of columns to display :type columns_spec: str | None

Usage

gamesheet-admin locations list [OPTIONS]

Options

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

login

Authenticate with the GameSheet admin dashboard and save session tokens.

Opens a headless browser, navigates to the admin login page, submits credentials, and extracts authentication tokens. Tokens are saved to disk so subsequent commands can authenticate without launching a browser.

param ctx:

Click context carrying the Config instance.

type ctx:

Context

param email:

Email address for login, or None to use the environment variable.

type email:

str | None

param password:

Password for login, or None to prompt interactively.

type password:

str | None

param timeout:

Page-load timeout in milliseconds.

type timeout:

int

Usage

gamesheet-admin login [OPTIONS]

Options

-e, --email <email>

Email address (or set GAMESHEET_USERNAME).

-p, --password <password>

Password (or set GAMESHEET_PASSWORD). Prompted if omitted.

-t, --timeout <timeout>

Page-load timeout in milliseconds.

Environment variables

GAMESHEET_USERNAME

Provide a default for --email

GAMESHEET_PASSWORD

Provide a default for --password

referees

Manage referees within a season.

Invoking referees with no sub-command runs list by default.

Usage

gamesheet-admin referees [OPTIONS] COMMAND [ARGS]...
create

Create a new referee in the specified season.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param first_name:

Referee’s first name

type first_name:

str

param last_name:

Referee’s last name

type last_name:

str

param email_address:

Optional email address for the referee

type email_address:

str | None

param external_id:

Optional external identifier for the referee

type external_id:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin referees create [OPTIONS]

Options

--season-id <season_id>

Required Season ID to create the referee in.

--first-name <first_name>

Required Referee’s first name.

--last-name <last_name>

Required Referee’s last name.

--email-address <email_address>

Optional email address for the referee.

--external-id <external_id>

Optional external identifier for the referee.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

delete

Delete a referee.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param referee_id:

The referee identifier to delete

type referee_id:

str

Usage

gamesheet-admin referees delete [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the referee.

--referee-id <referee_id>

Required Referee ID to delete.

-f, --force

Skip the confirmation prompt and delete referee immediately.

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

get

Get a single referee by ID.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param referee_id:

The referee identifier

type referee_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin referees get [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the referee.

--referee-id <referee_id>

Required Referee ID to retrieve.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

list

List all referees in the specified season.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param columns_spec:

Optional comma-separated list of columns to display

type columns_spec:

str | None

Usage

gamesheet-admin referees list [OPTIONS]

Options

--season-id <season_id>

Required Season ID to list referees for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

report

Get a comprehensive referee report with statistics and games.

Retrieves career statistics, games officiated, and penalty details. Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param referee_id:

The referee identifier

type referee_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin referees report [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the referee.

--referee-id <referee_id>

Required Referee ID to retrieve report for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

update

Update an existing referee in the specified season.

At least one field must be provided to update. Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param referee_id:

The referee identifier to update

type referee_id:

str

param first_name:

Optional updated first name

type first_name:

str | None

param last_name:

Optional updated last name

type last_name:

str | None

param email_address:

Optional updated email address

type email_address:

str | None

param external_id:

Optional updated external identifier

type external_id:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

raises click.UsageError:

If no fields are provided for update

Usage

gamesheet-admin referees update [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the referee.

--referee-id <referee_id>

Required Referee ID to update.

--first-name <first_name>

Updated first name.

--last-name <last_name>

Updated last name.

--email-address <email_address>

Updated email address.

--external-id <external_id>

Updated external identifier.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

roster

Manage roster (players and coaches) within a season.

Invoking roster with no sub-command runs players by default. The –season-id option is required and applies to all sub-commands.

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

Usage

gamesheet-admin roster [OPTIONS] COMMAND [ARGS]...

Options

--season-id <season_id>

Required Season ID to manage roster for.

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

coaches

Manage coaches.

Invoking coaches with no sub-command runs list by default.

Usage

gamesheet-admin roster coaches [OPTIONS] COMMAND [ARGS]...
assign

Assign an existing coach to a team’s roster. .

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

The coach identifier

type coach_id:

str

param team_id:

The team identifier

type team_id:

str

param position:

Optional position

type position:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin roster coaches assign [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to assign.

--team-id <team_id>

Required Team ID to assign to.

--position <position>

Optional position.

Options:

Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

create

Create a new coach in the season.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param first_name:

Optional updated first name

type first_name:

str

param last_name:

Optional updated last name

type last_name:

str

param external_id:

Optional updated external identifier

type external_id:

str | None

param position:

Optional position

type position:

str | None

param team_id:

The team identifier

type team_id:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

raises Exit:

Always raised (exit code 1) because this command is not yet implemented.

Usage

gamesheet-admin roster coaches create [OPTIONS]

Options

--first-name <first_name>

Required Coach’s first name.

--last-name <last_name>

Required Coach’s last name.

--external-id <external_id>

Optional external identifier for the coach.

--position <position>

Optional position.

Options:

Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large

--team-id <team_id>

Optional team ID to associate the coach with.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

delete

Delete a coach from the season.

Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and cannot be undone. Use –force to skip confirmation prompt.

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

The coach identifier to delete

type coach_id:

str

raises Exit:

On authentication or API errors.

Usage

gamesheet-admin roster coaches delete [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to delete.

-f, --force

Skip the confirmation prompt and delete coach immediately.

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

get

Get detailed information about a specific coach.

The coach ID can be provided via –coach-id or the GAMESHEET_COACH_ID environment variable. The season ID is inherited from the parent roster command. Requires a saved session from gamesheet-admin login. The output displays coach metadata as key-value pairs, with each field on its own row.

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

The coach identifier

type coach_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param fields_spec:

Optional comma-separated list of fields to display

type fields_spec:

str | None

Usage

gamesheet-admin roster coaches get [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to retrieve details for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

list

List all coaches in the specified season.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param columns_spec:

Optional comma-separated list of columns to display

type columns_spec:

str | None

Usage

gamesheet-admin roster coaches list [OPTIONS]

Options

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

penalty-report

Get penalty report for a coach.

Retrieves penalty statistics, incidents, and infraction history for the specified coach.

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

Coach ID to retrieve penalty report for

type coach_id:

str

param output_format:

Output format (json, yaml, etc.)

type output_format:

str

param output_path:

Optional path to write output file

type output_path:

str | None

Usage

gamesheet-admin roster coaches penalty-report [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to retrieve penalty report for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

unassign

Unassign a coach from a team’s roster. .

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

The coach identifier

type coach_id:

str

param team_id:

The team identifier

type team_id:

str

Usage

gamesheet-admin roster coaches unassign [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to unassign.

--team-id <team_id>

Required Team ID to unassign from.

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

update

Update an existing coach.

Requires authentication (run ‘gamesheet-admin login’ first). At least one field must be provided for update.

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

The coach identifier

type coach_id:

str

param first_name:

Optional updated first name

type first_name:

str | None

param last_name:

Optional updated last name

type last_name:

str | None

param external_id:

Optional updated external identifier

type external_id:

str | None

param position:

Optional position

type position:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

raises Exit:

Always raised (exit code 1) because this command is not yet implemented.

Usage

gamesheet-admin roster coaches update [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to update.

--first-name <first_name>

Updated first name.

--last-name <last_name>

Updated last name.

--external-id <external_id>

Updated external identifier.

--position <position>

Updated position.

Options:

Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

players

Manage players.

Invoking players with no sub-command runs list by default.

Usage

gamesheet-admin roster players [OPTIONS] COMMAND [ARGS]...
assign

Assign an existing player to a team’s roster. .

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

The player identifier

type player_id:

str

param team_id:

The team identifier

type team_id:

str

param jersey:

Optional jersey number

type jersey:

str | None

param position:

Optional position

type position:

str | None

param status:

Optional status

type status:

str | None

param designation:

Optional designation

type designation:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin roster players assign [OPTIONS]

Options

--player-id <player_id>

Required Player ID to assign.

--team-id <team_id>

Required Team ID to assign to.

--jersey <jersey>

Optional jersey number.

--position <position>

Optional position.

Options:

Forward | Left Wing | Right Wing | Centre | Pusher (Sled) | Defence | Goalie

--status <status>

Optional status.

Options:

Regular | Affiliated

--designation <designation>

Optional designation.

Options:

Captain | Alternate Captain

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

create

Create a new player in the season.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param first_name:

Player’s first name

type first_name:

str

param last_name:

Player’s last name

type last_name:

str

param external_id:

Optional external identifier

type external_id:

str | None

param jersey:

Optional jersey number

type jersey:

str | None

param position:

Optional player position

type position:

str | None

param status:

Optional player status

type status:

str | None

param designation:

Optional player designation

type designation:

str | None

param team_id:

Optional team ID to assign player to

type team_id:

str | None

param biography:

Optional player biography

type biography:

str | None

param height:

Optional player height

type height:

str | None

param weight:

Optional player weight

type weight:

str | None

param shot_hand:

Optional shooting hand

type shot_hand:

str | None

param birthdate:

Optional birthdate

type birthdate:

str | None

param hometown:

Optional hometown

type hometown:

str | None

param country:

Optional country

type country:

str | None

param province:

Optional province/state

type province:

str | None

param drafted_by:

Optional drafted by team

type drafted_by:

str | None

param committed_to:

Optional committed to team

type committed_to:

str | None

param photo_path:

Optional path to player photo

type photo_path:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

raises Exit:

On authentication or API errors.

Usage

gamesheet-admin roster players create [OPTIONS]

Options

--first-name <first_name>

Required Player’s first name.

--last-name <last_name>

Required Player’s last name.

--external-id <external_id>

Optional external identifier for the player.

--jersey <jersey>

Optional jersey number.

--position <position>

Optional position.

Options:

Forward | Left Wing | Right Wing | Centre | Pusher (Sled) | Defence | Goalie

--status <status>

Optional status.

Options:

Regular | Affiliated

--designation <designation>

Optional designation (Captain or Alternate Captain).

Options:

Captain | Alternate Captain

--team-id <team_id>

Optional team ID to associate the player with.

--biography <biography>

Optional biography text.

--height <height>

Optional height (e.g., “6’2"”).

--weight <weight>

Optional weight (e.g., “185”).

--shot-hand <shot_hand>

Optional shooting hand.

Options:

left | right

--birthdate <birthdate>

Optional birthdate (ISO format: YYYY-MM-DD).

--hometown <hometown>

Optional hometown.

--country <country>

Optional country code (e.g., “US”, “CA”).

--province <province>

Optional province/state.

--drafted-by <drafted_by>

Optional drafted by team name.

--committed-to <committed_to>

Optional committed to institution.

--photo <photo_path>

Optional path to a local photo image file.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

delete

Delete a player from the season.

Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and cannot be undone. Use –force to skip confirmation prompt.

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

The player identifier to delete

type player_id:

str

raises Exit:

On authentication or API errors.

Usage

gamesheet-admin roster players delete [OPTIONS]

Options

--player-id <player_id>

Required Player ID to delete.

-f, --force

Skip the confirmation prompt and delete player immediately.

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

get

Get detailed information about a specific player.

The player ID can be provided via –player-id or the GAMESHEET_PLAYER_ID environment variable. The season ID is inherited from the parent roster command. Requires a saved session from gamesheet-admin login. The output displays player metadata as key-value pairs, with each field on its own row.

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

The player identifier

type player_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param fields_spec:

Optional comma-separated list of fields to display

type fields_spec:

str | None

Usage

gamesheet-admin roster players get [OPTIONS]

Options

--player-id <player_id>

Required Player ID to retrieve details for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

list

List all players in the specified season.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param columns_spec:

Optional comma-separated list of columns to display

type columns_spec:

str | None

Usage

gamesheet-admin roster players list [OPTIONS]

Options

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

penalty-report

Get penalty report for a player.

Retrieves penalty statistics, incidents, and infraction history for the specified player.

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

Player ID to retrieve penalty report for

type player_id:

str

param output_format:

Output format (json, yaml, etc.)

type output_format:

str

param output_path:

Optional path to write output file

type output_path:

str | None

Usage

gamesheet-admin roster players penalty-report [OPTIONS]

Options

--player-id <player_id>

Required Player ID to retrieve penalty report for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

unassign

Unassign a player from a team’s roster. .

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

The player identifier

type player_id:

str

param team_id:

The team identifier

type team_id:

str

Usage

gamesheet-admin roster players unassign [OPTIONS]

Options

--player-id <player_id>

Required Player ID to unassign.

--team-id <team_id>

Required Team ID to unassign from.

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

update

Update an existing player.

Requires authentication (run ‘gamesheet-admin login’ first). At least one field must be provided for update.

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

The player identifier to update

type player_id:

str

param first_name:

Optional updated first name

type first_name:

str | None

param last_name:

Optional updated last name

type last_name:

str | None

param external_id:

Optional updated external identifier

type external_id:

str | None

param biography:

Optional updated biography

type biography:

str | None

param height:

Optional updated height

type height:

str | None

param weight:

Optional updated weight

type weight:

str | None

param shot_hand:

Optional updated shooting hand

type shot_hand:

str | None

param birthdate:

Optional updated birthdate

type birthdate:

str | None

param hometown:

Optional updated hometown

type hometown:

str | None

param country:

Optional updated country

type country:

str | None

param province:

Optional updated province/state

type province:

str | None

param drafted_by:

Optional updated drafted by team

type drafted_by:

str | None

param committed_to:

Optional updated committed to team

type committed_to:

str | None

param photo_path:

Optional path to updated player photo

type photo_path:

str | None

param remove_photo:

Remove the player’s photo

type remove_photo:

bool

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

raises Exit:

On authentication or API errors.

Usage

gamesheet-admin roster players update [OPTIONS]

Options

--player-id <player_id>

Required Player ID to update.

--first-name <first_name>

Updated first name.

--last-name <last_name>

Updated last name.

--external-id <external_id>

Updated external identifier.

--biography <biography>

Updated biography text.

--height <height>

Updated height (e.g., 6’2”).

--weight <weight>

Updated weight (e.g., 185).

--shot-hand <shot_hand>

Updated shooting hand.

Options:

left | right

--birthdate <birthdate>

Updated birthdate (ISO format: YYYY-MM-DD).

--hometown <hometown>

Updated hometown.

--country <country>

Updated country code (e.g., US, CA).

--province <province>

Updated province/state.

--drafted-by <drafted_by>

Updated drafted by team name.

--committed-to <committed_to>

Updated committed to institution.

--photo <photo_path>

Path to a new photo image file.

--remove-photo

Remove the player’s photo.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

seasons

Manage seasons within a league.

Invoking seasons with no sub-command runs list by default.

Usage

gamesheet-admin seasons [OPTIONS] COMMAND [ARGS]...
get

Get detailed information about a specific season.

The season ID can be provided via –season-id or the GAMESHEET_SEASON_ID environment variable. Requires a saved session from gamesheet-admin login – the bearer token is read out of the browser storage state on disk and attached to the HTTP request. No browser is launched. The output displays season metadata as key- value pairs, with each field on its own row. Complex nested fields (like settings, flagging_criteria) are displayed as JSON.

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param fields_spec:

Optional comma-separated list of fields to display

type fields_spec:

str | None

Usage

gamesheet-admin seasons get [OPTIONS]

Options

--season-id <season_id>

Required Season ID to retrieve details for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

list

List the seasons in the specified league.

The league ID can be provided via –league-id or the GAMESHEET_LEAGUE_ID environment variable. Requires a saved session from gamesheet-admin login – the bearer token is read out of the browser storage state on disk and attached to the HTTP request. No browser is launched.

Optional filters can be applied to narrow the results: –starts-after, –ends-before, –status, –stats-year, and –title.

param ctx:

Click context object containing config

type ctx:

Context

param league_id:

The league identifier

type league_id:

str

param starts_after:

Optional filter for seasons starting after this date

type starts_after:

str | None

param ends_before:

Optional filter for seasons ending before this date

type ends_before:

str | None

param status:

Optional filter for season status

type status:

str | None

param stats_year:

Optional filter for statistics year

type stats_year:

str | None

param title:

Optional filter for season title

type title:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param columns_spec:

Optional comma-separated list of columns to display

type columns_spec:

str | None

Usage

gamesheet-admin seasons list [OPTIONS]

Options

--league-id <league_id>

Required League ID to list seasons for.

--starts-after <starts_after>

Filter seasons starting after this date (ISO format: YYYY-MM-DD).

--ends-before <ends_before>

Filter seasons ending before this date (ISO format: YYYY-MM-DD).

--status <status>

Filter by season status.

Options:

archived | active | all

--stats-year <stats_year>

Filter by statistics year (e.g., ‘2026-2027’).

--title <title>

Filter by season title (free-form text search).

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

Environment variables

GAMESHEET_LEAGUE_ID

Provide a default for --league-id

teams

Manage teams within a season.

Invoking teams with no sub-command runs list by default.

Usage

gamesheet-admin teams [OPTIONS] COMMAND [ARGS]...
create

Create a new team in the specified season.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param title:

Team name/title

type title:

str

param division_id:

Division ID the team belongs to

type division_id:

str

param external_id:

Optional external identifier

type external_id:

str | None

param logo_path:

Optional path to a logo image file

type logo_path:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin teams create [OPTIONS]

Options

--season-id <season_id>

Required Season ID to create the team in.

--title <title>

Required Team name/title.

--division-id <division_id>

Required Division ID the team belongs to.

Optional path to a local logo image file.

--external-id <external_id>

Optional external identifier for the team.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

delete

Delete a team.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param team_id:

The team identifier to delete

type team_id:

str

Usage

gamesheet-admin teams delete [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the team.

--team-id <team_id>

Required Team ID to delete.

-f, --force

Skip the confirmation prompt and delete team immediately.

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

get

Get detailed information about a specific team.

The team and season IDs can be provided via command-line options or environment variables (GAMESHEET_TEAM_ID, GAMESHEET_SEASON_ID). Requires a saved session from gamesheet-admin login. The output displays team metadata as key-value pairs, with each field on its own row.

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param team_id:

The team identifier

type team_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param fields_spec:

Optional comma-separated list of fields to display

type fields_spec:

str | None

Usage

gamesheet-admin teams get [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the team.

--team-id <team_id>

Required Team ID to retrieve details for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List all teams in the specified season.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param columns_spec:

Optional comma-separated list of columns to display

type columns_spec:

str | None

Usage

gamesheet-admin teams list [OPTIONS]

Options

--season-id <season_id>

Required Season ID to list teams for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

roster

Manage roster (players and coaches) for a specific team.

Invoking roster with no sub-command runs players by default. The –season-id and –team-id options are required and apply to all sub-commands.

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param team_id:

The team identifier

type team_id:

str

Usage

gamesheet-admin teams roster [OPTIONS] COMMAND [ARGS]...

Options

--season-id <season_id>

Required Season ID to manage roster for.

--team-id <team_id>

Required Team ID to manage roster for.

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

coaches

Manage coaches for this team.

Invoking coaches with no sub-command runs list by default.

Usage

gamesheet-admin teams roster coaches [OPTIONS] COMMAND [ARGS]...
assign

Assign an existing coach to this team’s roster. .

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

The coach identifier

type coach_id:

str

param position:

Optional position

type position:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin teams roster coaches assign [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to assign.

--position <position>

Optional position.

Options:

Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

create

Add a coach to this team.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param first_name:

Optional updated first name

type first_name:

str

param last_name:

Optional updated last name

type last_name:

str

param external_id:

Optional updated external identifier

type external_id:

str | None

param position:

Optional position

type position:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

raises Exit:

Always raised (exit code 1) because this command is not yet implemented.

Usage

gamesheet-admin teams roster coaches create [OPTIONS]

Options

--first-name <first_name>

Required Coach’s first name.

--last-name <last_name>

Required Coach’s last name.

--external-id <external_id>

Optional external identifier for the coach.

--position <position>

Optional position.

Options:

Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

delete

Delete a coach from the team’s roster and the season.

Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and cannot be undone. Use –force to skip confirmation prompt.

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

The coach identifier to delete

type coach_id:

str

raises Exit:

On authentication or API errors.

Usage

gamesheet-admin teams roster coaches delete [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to delete.

-f, --force

Skip the confirmation prompt and delete coach immediately.

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

get

Get detailed information about a specific coach on this team.

The coach ID can be provided via –coach-id or the GAMESHEET_COACH_ID environment variable. The season ID and team ID are inherited from the parent roster command. Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

The coach identifier

type coach_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param fields_spec:

Optional comma-separated list of fields to display

type fields_spec:

str | None

Usage

gamesheet-admin teams roster coaches get [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to retrieve details for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

list

List all coaches for this team.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param columns_spec:

Optional comma-separated list of columns to display

type columns_spec:

str | None

Usage

gamesheet-admin teams roster coaches list [OPTIONS]

Options

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

penalty-report

Get penalty report for a coach on this team.

Retrieves penalty statistics, incidents, and infraction history for the specified coach.

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

Coach ID to retrieve penalty report for

type coach_id:

str

param output_format:

Output format (json, yaml, etc.)

type output_format:

str

param output_path:

Optional path to write output file

type output_path:

str | None

Usage

gamesheet-admin teams roster coaches penalty-report [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to retrieve penalty report for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

unassign

Unassign a coach from this team’s roster. .

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

The coach identifier

type coach_id:

str

Usage

gamesheet-admin teams roster coaches unassign [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to unassign.

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

update

Update a coach on this team.

Requires authentication (run ‘gamesheet-admin login’ first). At least one field must be provided for update.

param ctx:

Click context object containing config

type ctx:

Context

param coach_id:

The coach identifier

type coach_id:

str

param first_name:

Optional updated first name

type first_name:

str | None

param last_name:

Optional updated last name

type last_name:

str | None

param external_id:

Optional updated external identifier

type external_id:

str | None

param position:

Optional position

type position:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

raises Exit:

Always raised (exit code 1) because this command is not yet implemented.

Usage

gamesheet-admin teams roster coaches update [OPTIONS]

Options

--coach-id <coach_id>

Required Coach ID to update.

--first-name <first_name>

Updated first name.

--last-name <last_name>

Updated last name.

--external-id <external_id>

Updated external identifier.

--position <position>

Updated position.

Options:

Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_COACH_ID

Provide a default for --coach-id

players

Manage players for this team.

Invoking players with no sub-command runs list by default.

Usage

gamesheet-admin teams roster players [OPTIONS] COMMAND [ARGS]...
assign

Assign an existing player to this team’s roster. .

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

The player identifier

type player_id:

str

param jersey:

Optional jersey number

type jersey:

str | None

param position:

Optional position

type position:

str | None

param status:

Optional status

type status:

str | None

param designation:

Optional designation

type designation:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin teams roster players assign [OPTIONS]

Options

--player-id <player_id>

Required Player ID to assign.

--jersey <jersey>

Optional jersey number.

--position <position>

Optional position.

Options:

Forward | Left Wing | Right Wing | Centre | Pusher (Sled) | Defence | Goalie

--status <status>

Optional status.

Options:

Regular | Affiliated

--designation <designation>

Optional designation.

Options:

Captain | Alternate Captain

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

create

Add a player to this team.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param first_name:

Optional updated first name

type first_name:

str

param last_name:

Optional updated last name

type last_name:

str

param external_id:

Optional updated external identifier

type external_id:

str | None

param jersey:

Optional jersey number

type jersey:

str | None

param position:

Optional position

type position:

str | None

param status:

Optional status

type status:

str | None

param designation:

Optional designation

type designation:

str | None

param biography:

Optional updated biography

type biography:

str | None

param height:

Optional updated height

type height:

str | None

param weight:

Optional updated weight

type weight:

str | None

param shot_hand:

Optional updated shooting hand

type shot_hand:

str | None

param birthdate:

Optional updated birthdate

type birthdate:

str | None

param hometown:

Optional updated hometown

type hometown:

str | None

param country:

Optional updated country

type country:

str | None

param province:

Optional updated province/state

type province:

str | None

param drafted_by:

Optional updated drafted by team

type drafted_by:

str | None

param committed_to:

Optional updated committed to team

type committed_to:

str | None

param photo_path:

Optional updated path to photo

type photo_path:

str | None

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

raises Exit:

On authentication or API errors.

Usage

gamesheet-admin teams roster players create [OPTIONS]

Options

--first-name <first_name>

Required Player’s first name.

--last-name <last_name>

Required Player’s last name.

--external-id <external_id>

Optional external identifier for the player.

--jersey <jersey>

Optional jersey number.

--position <position>

Optional position.

Options:

Forward | Left Wing | Right Wing | Centre | Pusher (Sled) | Defence | Goalie

--status <status>

Optional status.

Options:

Regular | Affiliated

--designation <designation>

Optional designation (Captain or Alternate Captain).

Options:

Captain | Alternate Captain

--biography <biography>

Optional biography text.

--height <height>

Optional height (e.g., “6’2"”).

--weight <weight>

Optional weight (e.g., “185”).

--shot-hand <shot_hand>

Optional shooting hand.

Options:

left | right

--birthdate <birthdate>

Optional birthdate (ISO format: YYYY-MM-DD).

--hometown <hometown>

Optional hometown.

--country <country>

Optional country code (e.g., “US”, “CA”).

--province <province>

Optional province/state.

--drafted-by <drafted_by>

Optional drafted by team name.

--committed-to <committed_to>

Optional committed to institution.

--photo <photo_path>

Optional path to a local photo image file.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

delete

Delete a player from the team’s roster and the season.

Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and cannot be undone. Use –force to skip confirmation prompt.

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

The player identifier to delete

type player_id:

str

raises Exit:

On authentication or API errors.

Usage

gamesheet-admin teams roster players delete [OPTIONS]

Options

--player-id <player_id>

Required Player ID to delete.

-f, --force

Skip the confirmation prompt and delete player immediately.

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

get

Get detailed information about a specific player on this team.

The player ID can be provided via –player-id or the GAMESHEET_PLAYER_ID environment variable. The season ID and team ID are inherited from the parent roster command. Requires authentication (run ‘gamesheet-sdk- py login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

The player identifier

type player_id:

str

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param fields_spec:

Optional comma-separated list of fields to display

type fields_spec:

str | None

Usage

gamesheet-admin teams roster players get [OPTIONS]

Options

--player-id <player_id>

Required Player ID to retrieve details for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-f, --fields <fields_spec>

Comma-separated list of field names to include (default: all fields the API returns).

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

list

List all players for this team.

Requires authentication (run ‘gamesheet-admin login’ first).

param ctx:

Click context object containing config

type ctx:

Context

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

param columns_spec:

Optional comma-separated list of columns to display

type columns_spec:

str | None

Usage

gamesheet-admin teams roster players list [OPTIONS]

Options

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns the API returns).

penalty-report

Get penalty report for a player on this team.

Retrieves penalty statistics, incidents, and infraction history for the specified player.

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

Player ID to retrieve penalty report for

type player_id:

str

param output_format:

Output format (json, yaml, etc.)

type output_format:

str

param output_path:

Optional path to write output file

type output_path:

str | None

Usage

gamesheet-admin teams roster players penalty-report [OPTIONS]

Options

--player-id <player_id>

Required Player ID to retrieve penalty report for.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

unassign

Unassign a player from this team’s roster. .

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

The player identifier

type player_id:

str

Usage

gamesheet-admin teams roster players unassign [OPTIONS]

Options

--player-id <player_id>

Required Player ID to unassign.

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

update

Update a player on this team.

Requires authentication (run ‘gamesheet-admin login’ first). At least one field must be provided for update.

param ctx:

Click context object containing config

type ctx:

Context

param player_id:

The player identifier

type player_id:

str

param first_name:

Optional updated first name

type first_name:

str | None

param last_name:

Optional updated last name

type last_name:

str | None

param external_id:

Optional updated external identifier

type external_id:

str | None

param biography:

Optional updated biography

type biography:

str | None

param height:

Optional updated height

type height:

str | None

param weight:

Optional updated weight

type weight:

str | None

param shot_hand:

Optional updated shooting hand

type shot_hand:

str | None

param birthdate:

Optional updated birthdate

type birthdate:

str | None

param hometown:

Optional updated hometown

type hometown:

str | None

param country:

Optional updated country

type country:

str | None

param province:

Optional updated province/state

type province:

str | None

param drafted_by:

Optional updated drafted by team

type drafted_by:

str | None

param committed_to:

Optional updated committed to team

type committed_to:

str | None

param photo_path:

Optional updated path to photo

type photo_path:

str | None

param remove_photo:

Remove the photo

type remove_photo:

bool

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

raises Exit:

On authentication or API errors.

Usage

gamesheet-admin teams roster players update [OPTIONS]

Options

--player-id <player_id>

Required Player ID to update.

--first-name <first_name>

Updated first name.

--last-name <last_name>

Updated last name.

--external-id <external_id>

Updated external identifier.

--biography <biography>

Updated biography text.

--height <height>

Updated height (e.g., 6’2”).

--weight <weight>

Updated weight (e.g., 185).

--shot-hand <shot_hand>

Updated shooting hand.

Options:

left | right

--birthdate <birthdate>

Updated birthdate (ISO format: YYYY-MM-DD).

--hometown <hometown>

Updated hometown.

--country <country>

Updated country code (e.g., US, CA).

--province <province>

Updated province/state.

--drafted-by <drafted_by>

Updated drafted by team name.

--committed-to <committed_to>

Updated committed to institution.

--photo <photo_path>

Path to a new photo image file.

--remove-photo

Remove the player’s photo.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_PLAYER_ID

Provide a default for --player-id

update

Update an existing team.

Requires authentication (run ‘gamesheet-admin login’ first). At least one field must be provided for update.

param ctx:

Click context object containing config

type ctx:

Context

param season_id:

The season identifier

type season_id:

str

param team_id:

The team identifier to update

type team_id:

str

param title:

Optional new team name/title

type title:

str | None

param division_id:

Optional new division ID

type division_id:

str | None

param external_id:

Optional new external identifier

type external_id:

str | None

param logo_path:

Optional path to a new logo image file

type logo_path:

str | None

param remove_logo:

Remove the team’s logo

type remove_logo:

bool

param output_format:

Output format for rendering

type output_format:

str

param output_path:

Optional output file path

type output_path:

str | None

Usage

gamesheet-admin teams update [OPTIONS]

Options

--season-id <season_id>

Required Season ID containing the team.

--team-id <team_id>

Required Team ID to update.

Remove the team’s logo.

Path to a new logo image file.

--external-id <external_id>

New external identifier.

--division-id <division_id>

New division ID.

--title <title>

New team name/title.

-o, --output <output_path>

Write to this file instead of stdout.

-F, --format <output_format>

Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

Environment variables

GAMESHEET_SEASON_ID

Provide a default for --season-id

Teams CLI

The teams CLI targets the GameSheet teams dashboard. Login is not yet implemented.

gamesheet-teams

Unofficial CLI for the GameSheet teams dashboard.

Provides authentication, resource management, and utility commands.

param ctx:

Click context used to store the resolved Config.

type ctx:

Context

param base_url:

Override for the GameSheet base URL, or None to use the default.

type base_url:

str | None

param no_headless:

When True, show the browser window during Playwright flows.

type no_headless:

bool

param verbose:

Logging verbosity level (0 = WARNING, 1 = INFO, 2 = DEBUG).

type verbose:

int

Usage

gamesheet-teams [OPTIONS] [COMMAND] [ARGS]...

Options

-V, --version

Show the version and exit.

--base-url <base_url>

GameSheet base URL (default: https://teams.gamesheet.app).

--no-headless

Show the browser window when running Playwright flows.

-v, --verbose

Increase logging verbosity (-v = INFO, -vv = DEBUG).

Environment variables

GAMESHEET_BASE_URL

Provide a default for --base-url

completion

Emit shell completion script for the specified shell.

Source the output to enable tab-completion:

eval "$(gamesheet-teams completion bash)"
param shell:

Target shell (bash, zsh, or fish).

type shell:

str

Usage

gamesheet-teams completion [OPTIONS] {bash|zsh|fish}

Arguments

SHELL

Required argument

login

Authenticate with the GameSheet teams dashboard and save session tokens.

Sends credentials to Firebase Auth, exchanges the ID token for application tokens via the teams API gateway, and saves the result to disk so subsequent commands can authenticate automatically.

param ctx:

Click context carrying the Config instance.

type ctx:

Context

param email:

Email address for login, or None to use the environment variable.

type email:

str | None

param password:

Password for login, or None to prompt interactively.

type password:

str | None

param timeout:

HTTP request timeout in seconds.

type timeout:

float

Usage

gamesheet-teams login [OPTIONS]

Options

-e, --email <email>

Email address (or set GAMESHEET_USERNAME).

-p, --password <password>

Password (or set GAMESHEET_PASSWORD). Prompted if omitted.

-t, --timeout <timeout>

HTTP request timeout in seconds.

Environment variables

GAMESHEET_USERNAME

Provide a default for --email

GAMESHEET_PASSWORD

Provide a default for --password

lookups

View public lookup/enumeration data from the teams API.

Usage

gamesheet-teams lookups [OPTIONS] COMMAND [ARGS]...
get

Get values for a specific lookup category.

Fetches all lookup data and renders the values for the given category.

param ctx:

Click context carrying the Config instance.

type ctx:

Context

param category:

Category name to retrieve.

type category:

str

param output_format:

Output format (json, yaml, csv, tsv, or tabulate format).

type output_format:

str

param output_path:

Optional file path to write output to.

type output_path:

str | None

Usage

gamesheet-teams lookups get [OPTIONS]

Options

-c, --category <category>

Required Category to retrieve values for.

-F, --format <output_format>

Output format.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-o, --output <output_path>

Write to this file instead of stdout.

list

List lookup categories or values within a category.

Without --category, shows a summary of all available categories and their value counts. With --category, shows every value in that category.

param ctx:

Click context carrying the Config instance.

type ctx:

Context

param category:

Optional category name to filter to.

type category:

str | None

param output_format:

Output format (json, yaml, csv, tsv, or tabulate format).

type output_format:

str

param output_path:

Optional file path to write output to.

type output_path:

str | None

Usage

gamesheet-teams lookups list [OPTIONS]

Options

-c, --category <category>

Show values for a specific category only.

-F, --format <output_format>

Output format.

Default:

'simple'

Options:

json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable

-o, --output <output_path>

Write to this file instead of stdout.

Usage Examples

Both CLIs follow a resource-oriented (noun-first) command structure. Every resource group supports canonical verbs (create, get, list, update, delete) with short aliases (add/new, show/view, ls, set/edit, rm/remove).

Basic authentication

Authenticate with GameSheet and save session tokens:

$ gamesheet-admin login --email user@example.com
Password: [hidden input]
Login successful! Tokens saved.

Listing resources

List all associations on your account:

$ gamesheet-admin associations list
ID      TITLE                    CREATED AT
12345   Springfield Youth Hockey 2024-01-15 08:23:45

Use the ls alias for brevity:

$ gamesheet-admin associations ls

List leagues within an association:

$ gamesheet-admin leagues list --association-id 12345

Output formats

Change output format using --format:

$ gamesheet-admin associations list --format json
$ gamesheet-admin leagues ls --association-id 12345 --format yaml
$ gamesheet-admin seasons list --league-id 111 --format csv > seasons.csv

Supported formats: json, yaml, csv, tsv, plus thirteen tabulate table formats (see --help for the full list).

Verbose logging

Enable info-level logging with -v, debug-level with -vv:

$ gamesheet-admin -v associations list
INFO:gamesheet_sdk.common.session:GET https://gamesheet.app/api/associations
INFO:gamesheet_sdk.common.session:Response: 200 OK

The verbosity flag is a global option and must precede the resource name.

Browser visibility

Show the browser window during headless operations (useful for debugging):

$ gamesheet-admin --no-headless login --email user@example.com

Shell completion

Generate a completion script for your shell:

$ gamesheet-admin completion bash > ~/.bash_completion.d/gamesheet-admin
$ gamesheet-admin completion zsh > ~/.zsh/completion/_gamesheet-admin
$ gamesheet-admin completion fish > ~/.config/fish/completions/gamesheet-admin.fish

Then source the script in your shell configuration file.

Return Codes

Both CLIs follow Unix exit-code conventions:

Code

Meaning

0

Success. The command completed without errors.

1

General error. Authentication failed, resource not found, network error, or user abort.

2

Usage error. Invalid arguments, missing required options, or unknown command/option.

Exit codes are resolved by gamesheet_sdk.common.cli.core.resolve_exit() and gamesheet_sdk.common.cli.core.resolve_system_exit() from click exceptions:

  • click.exceptions.Exit — mapped to its exit_code attribute.

  • click.exceptions.UsageError — always returns 2 (after displaying the error message).

  • click.exceptions.Abort — returns 1 (after printing “Aborted.”).

  • SystemExit — mapped to its code (0 if None, 1 if non-integer, otherwise the code itself).

Environment Variables

Both CLIs read configuration from GAMESHEET_-prefixed environment variables via gamesheet_sdk.common.config.Config (implemented with pydantic-settings). Values are resolved in this precedence order:

  1. Command-line arguments (--base-url, --email, --password, etc.)

  2. Environment variables

  3. Field defaults defined in Config

Supported variables

Variable

Type

Default

Description

GAMESHEET_BASE_URL

str

https://gamesheet.app

Root URL of the GameSheet WebUI.

GAMESHEET_USERNAME

str

None

GameSheet account username/email.

GAMESHEET_PASSWORD

str

None

GameSheet account password (stored as SecretStr).

GAMESHEET_SESSION_PATH

Path

$XDG_CACHE_HOME/gamesheet-sdk-py/session.json

Where to persist cookie state between runs.

GAMESHEET_TIMEOUT

float

30.0

Default per-request HTTP timeout in seconds.

GAMESHEET_USER_AGENT

str

None

Override the default User-Agent header.

GAMESHEET_VERIFY_SSL

bool

True

Whether to verify TLS certificates on outgoing requests.

GAMESHEET_REQUEST_RETRIES

int

3

Automatic retries on 5xx responses and connection errors.

GAMESHEET_BROWSER_STATE_PATH

Path

$XDG_CACHE_HOME/gamesheet-sdk-py/browser-state.json

Where to persist Playwright storage state between runs.

GAMESHEET_BROWSER_HEADLESS

bool

True

Launch the Playwright browser in headless mode.

Notes:

  • $XDG_CACHE_HOME defaults to ~/.cache on Linux/macOS if the variable is not set. On Windows, the analogous user cache directory is used.

  • GAMESHEET_PASSWORD is stored as a pydantic.SecretStr to prevent accidental logging.

  • Boolean environment variables accept 1/true/yes (case-insensitive) for True, 0/false/no for False.

  • The admin CLI defaults GAMESHEET_BASE_URL to https://gamesheet.app; the teams CLI defaults to https://teams.gamesheet.app.

Example usage

# Authenticate using environment variables instead of prompts
export GAMESHEET_USERNAME="user@example.com"
export GAMESHEET_PASSWORD="secret"
gamesheet-admin login

# Use a custom base URL and increase timeout
export GAMESHEET_BASE_URL="https://custom.gamesheet.app"
export GAMESHEET_TIMEOUT="60.0"
gamesheet-admin associations list

# Disable SSL verification (not recommended for production)
export GAMESHEET_VERIFY_SSL="false"
gamesheet-admin login

Configuration File Support

A TOML configuration file source is not yet implemented. Currently, configuration is resolved only from command-line arguments and environment variables.

Future releases may add support for a ~/.config/gamesheet-sdk-py/config.toml file (XDG-compliant path) by overriding settings_customise_sources in Config. When implemented, the precedence order will be:

  1. Command-line arguments (highest priority)

  2. Environment variables

  3. Configuration file

  4. Field defaults (lowest priority)

For now, use environment variables or CLI flags to configure the SDK. See the Environment Variables section above for details.

See also