Command-line Interface



The package installs two console scripts:

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

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

2. 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.f

Args:

ctx (Context): Click context used to store the resolved Config. base_url (str | None): Override for the GameSheet base URL, or None to use the default. no_headless (bool): When True, show the browser window during Playwright flows. verbose (int): Logging verbosity level (0 = WARNING, 1 = INFO, 2 = DEBUG).

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

Args:

ctx (Context): Click context object containing config association_id (str): The association identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-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

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\f
Args:

ctx (Context): Click context object containing config output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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)"\f
Args:

shell (str): Target shell (bash, zsh, or fish).

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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier title (str): Division name/title external_id (str | None): Optional external identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path

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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier division_id (str): The division identifier to delete

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

Args:

ctx (Context): Click context object containing config division_id (str): The division identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-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

list

List all divisions in the specified season.

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

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

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

Args:

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

Usage

gamesheet-admin divisions 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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier team_id (str): The team identifier to delete

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.

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

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier team_id (str): The team identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-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

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List all teams in the specified division.

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

Args:

ctx (Context): Click context object containing config division_id (str): The division identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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.

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

Args:

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

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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier division_id (str): The division identifier to update title (str | None): Optional new division name/title external_id (str | None): Optional new external identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path

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, and the scheduled verbs are also reachable directly as games create, games list, and so on. A season is required, but may be given either here or on the sub-command, so both games --season-id 1 create and games create --season-id 1 work.f

Args:

ctx (Context): Click context object containing config season_id (str | None): The season identifier, if given at this level

Usage

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

Options

--season-id <season_id>

Season ID for games. May also be given on the sub-command.

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

Args:

output_format (str): Output format (ignored - command not implemented). output_path (str | None): Output file path (ignored - command not implemented). columns_spec (str | None): Columns specification (ignored - command not implemented).

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 is not specified, the filename is automatically generated from game details in the format: {date}-scoresheet-{id}-{visitor}-vs-{home}-{game_number}.pdff

Args:

ctx (Context): Click context object containing config game_id (str): The game identifier output_path (str | None): File path where the PDF will be saved (optional)

Usage

gamesheet-admin games completed download [OPTIONS]

Options

--game-id <game_id>

Required Game ID to download scoresheet for.

-o, --output <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.f

Args:

ctx (Context): Click context object containing config game_id (str): The game identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns 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).f

Args:

ctx (Context): Click context object containing config output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

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

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-admin games create [OPTIONS]

Options

--season-id <season_id>

Season identifier.

--start-datetime, --start-date-time, --start <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-date-time, --end <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, --date <start_date>

Start Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Also supplies the end date unless –end-date is given.

--start-time <start_time>

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

--end-date <end_date>

End Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Defaults to the start date.

--end-time <end_time>

End Time component (e.g., ‘7:00pm’, ‘19:00’). Lands on the start date unless –end-date is given.

--duration <duration>

Game duration. Bare numbers are minutes (e.g., ‘75’); suffixed forms are also accepted (e.g., ‘1h15m’, ‘90m’, ‘1.5h’, ‘1:15’).

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

-t, --team-id <team_id>

Acting team identifier. Home unless –visitor/–away is given.

--division-id <division_id>

Acting team’s division identifier.

--opposing-team-id <opposing_team_id>

Opposing team identifier.

--opposing-division-id, --opposing-division <opposing_division_id>

Opposing team’s division identifier.

--home, --visitor

Which side –team-id is on. [default: –home]

--away

Alias for –visitor.

--number, --game-number <number>

Required Game number.

--game-type <game_type>

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

--location <location>

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

--scorekeeper-name <scorekeeper_name>

Scorekeeper’s full name.

--scorekeeper-phone <scorekeeper_phone>

Scorekeeper’s phone number.

--broadcaster, --broadcast-provider <broadcaster>

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

--time-zone-name, --timezone <time_zone_name>

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

--time-zone-offset <time_zone_offset>

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

--home-label <home_label>

Home team label override. Ignored with a warning by gamesheet-teams.

--visitor-label <visitor_label>

Visitor team label override. Ignored with a warning by gamesheet-teams.

-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

GAMESHEET_TEAM_ID

Provide a default for --team-id

GAMESHEET_DIVISION_ID

Provide a default for --division-id

delete

Delete a scheduled game.

Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and requires confirmation unless –force is specified.f

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-admin games delete [OPTIONS]

Options

-g, --game-id, --id <game_id>

Required Game identifier.

--season-id <season_id>

Season 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

-c, --columns <columns_spec>

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

-f, --force

Skip the confirmation prompt and delete this scheduled game immediately.

Environment variables

GAMESHEET_GAME_ID

Provide a default for --game-id

GAMESHEET_SEASON_ID

Provide a default for --season-id

get

Get detailed information about a scheduled game.

Uses the JSON:API /api/seasons/{id}/schedule/{game_id} endpoint for richer structured data.f

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-admin games get [OPTIONS]

Options

-g, --game-id, --id <game_id>

Required Game identifier.

--season-id <season_id>

Season identifier.

--availability, --include-availability

Include player/coach availability for the game. Ignored with a warning by gamesheet-admin.

-t, --team-id <team_id>

Team identifier. Ignored with a warning by gamesheet-admin.

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

Provide a default for --game-id

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List all scheduled games in the specified season.

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

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-admin games list [OPTIONS]

Options

--season-id <season_id>

Season identifier.

-t, --team-id <team_id>

Team identifier. Ignored with a warning by gamesheet-admin.

--month <month>

Month filter for calendar events (e.g. ‘all’, ‘2026-08’). Ignored with a warning by gamesheet-admin.

Default:

'all'

--event-data, --include-event-data

Include detailed eventData in the output. Ignored with a warning by gamesheet-admin.

-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

GAMESHEET_TEAM_ID

Provide a default for --team-id

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

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-admin games scheduled create [OPTIONS]

Options

--season-id <season_id>

Season identifier.

--start-datetime, --start-date-time, --start <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-date-time, --end <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, --date <start_date>

Start Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Also supplies the end date unless –end-date is given.

--start-time <start_time>

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

--end-date <end_date>

End Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Defaults to the start date.

--end-time <end_time>

End Time component (e.g., ‘7:00pm’, ‘19:00’). Lands on the start date unless –end-date is given.

--duration <duration>

Game duration. Bare numbers are minutes (e.g., ‘75’); suffixed forms are also accepted (e.g., ‘1h15m’, ‘90m’, ‘1.5h’, ‘1:15’).

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

-t, --team-id <team_id>

Acting team identifier. Home unless –visitor/–away is given.

--division-id <division_id>

Acting team’s division identifier.

--opposing-team-id <opposing_team_id>

Opposing team identifier.

--opposing-division-id, --opposing-division <opposing_division_id>

Opposing team’s division identifier.

--home, --visitor

Which side –team-id is on. [default: –home]

--away

Alias for –visitor.

--number, --game-number <number>

Required Game number.

--game-type <game_type>

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

--location <location>

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

--scorekeeper-name <scorekeeper_name>

Scorekeeper’s full name.

--scorekeeper-phone <scorekeeper_phone>

Scorekeeper’s phone number.

--broadcaster, --broadcast-provider <broadcaster>

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

--time-zone-name, --timezone <time_zone_name>

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

--time-zone-offset <time_zone_offset>

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

--home-label <home_label>

Home team label override. Ignored with a warning by gamesheet-teams.

--visitor-label <visitor_label>

Visitor team label override. Ignored with a warning by gamesheet-teams.

-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

GAMESHEET_TEAM_ID

Provide a default for --team-id

GAMESHEET_DIVISION_ID

Provide a default for --division-id

delete

Delete a scheduled game.

Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and requires confirmation unless –force is specified.f

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-admin games scheduled delete [OPTIONS]

Options

-g, --game-id, --id <game_id>

Required Game identifier.

--season-id <season_id>

Season 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

-c, --columns <columns_spec>

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

-f, --force

Skip the confirmation prompt and delete this scheduled game immediately.

Environment variables

GAMESHEET_GAME_ID

Provide a default for --game-id

GAMESHEET_SEASON_ID

Provide a default for --season-id

get

Get detailed information about a scheduled game.

Uses the JSON:API /api/seasons/{id}/schedule/{game_id} endpoint for richer structured data.f

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-admin games scheduled get [OPTIONS]

Options

-g, --game-id, --id <game_id>

Required Game identifier.

--season-id <season_id>

Season identifier.

--availability, --include-availability

Include player/coach availability for the game. Ignored with a warning by gamesheet-admin.

-t, --team-id <team_id>

Team identifier. Ignored with a warning by gamesheet-admin.

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

Provide a default for --game-id

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List all scheduled games in the specified season.

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

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-admin games scheduled list [OPTIONS]

Options

--season-id <season_id>

Season identifier.

-t, --team-id <team_id>

Team identifier. Ignored with a warning by gamesheet-admin.

--month <month>

Month filter for calendar events (e.g. ‘all’, ‘2026-08’). Ignored with a warning by gamesheet-admin.

Default:

'all'

--event-data, --include-event-data

Include detailed eventData in the output. Ignored with a warning by gamesheet-admin.

-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

GAMESHEET_TEAM_ID

Provide a default for --team-id

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

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-admin games scheduled update [OPTIONS]

Options

-g, --game-id, --id <game_id>

Required Game identifier.

--season-id <season_id>

Season identifier.

--start-datetime, --start-date-time, --start <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-date-time, --end <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, --date <start_date>

Start Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Also supplies the end date unless –end-date is given.

--start-time <start_time>

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

--end-date <end_date>

End Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Defaults to the start date.

--end-time <end_time>

End Time component (e.g., ‘7:00pm’, ‘19:00’). Lands on the start date unless –end-date is given.

--duration <duration>

Game duration. Bare numbers are minutes (e.g., ‘75’); suffixed forms are also accepted (e.g., ‘1h15m’, ‘90m’, ‘1.5h’, ‘1:15’).

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

-t, --team-id <team_id>

Acting team identifier. Home unless –visitor/–away is given.

--division-id <division_id>

Acting team’s division identifier.

--opposing-team-id <opposing_team_id>

Opposing team identifier.

--opposing-division-id, --opposing-division <opposing_division_id>

Opposing team’s division identifier.

--home, --visitor

Which side –team-id is on. [default: –home]

--away

Alias for –visitor.

--number, --game-number <number>

Game number.

--game-type <game_type>

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

--location <location>

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

--scorekeeper-name <scorekeeper_name>

Scorekeeper’s full name.

--scorekeeper-phone <scorekeeper_phone>

Scorekeeper’s phone number.

--broadcaster, --broadcast-provider <broadcaster>

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

--time-zone-name, --timezone <time_zone_name>

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

--time-zone-offset <time_zone_offset>

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

--home-label <home_label>

Home team label override. Ignored with a warning by gamesheet-teams.

--visitor-label <visitor_label>

Visitor team label override. Ignored with a warning by gamesheet-teams.

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

Provide a default for --game-id

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

GAMESHEET_DIVISION_ID

Provide a default for --division-id

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

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-admin games update [OPTIONS]

Options

-g, --game-id, --id <game_id>

Required Game identifier.

--season-id <season_id>

Season identifier.

--start-datetime, --start-date-time, --start <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-date-time, --end <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, --date <start_date>

Start Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Also supplies the end date unless –end-date is given.

--start-time <start_time>

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

--end-date <end_date>

End Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Defaults to the start date.

--end-time <end_time>

End Time component (e.g., ‘7:00pm’, ‘19:00’). Lands on the start date unless –end-date is given.

--duration <duration>

Game duration. Bare numbers are minutes (e.g., ‘75’); suffixed forms are also accepted (e.g., ‘1h15m’, ‘90m’, ‘1.5h’, ‘1:15’).

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

-t, --team-id <team_id>

Acting team identifier. Home unless –visitor/–away is given.

--division-id <division_id>

Acting team’s division identifier.

--opposing-team-id <opposing_team_id>

Opposing team identifier.

--opposing-division-id, --opposing-division <opposing_division_id>

Opposing team’s division identifier.

--home, --visitor

Which side –team-id is on. [default: –home]

--away

Alias for –visitor.

--number, --game-number <number>

Game number.

--game-type <game_type>

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

--location <location>

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

--scorekeeper-name <scorekeeper_name>

Scorekeeper’s full name.

--scorekeeper-phone <scorekeeper_phone>

Scorekeeper’s phone number.

--broadcaster, --broadcast-provider <broadcaster>

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

--time-zone-name, --timezone <time_zone_name>

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

--time-zone-offset <time_zone_offset>

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

--home-label <home_label>

Home team label override. Ignored with a warning by gamesheet-teams.

--visitor-label <visitor_label>

Visitor team label override. Ignored with a warning by gamesheet-teams.

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

Provide a default for --game-id

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

GAMESHEET_DIVISION_ID

Provide a default for --division-id

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\f
Args:

ctx (Context): Click context object containing config season_id (str): The season identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

Args:

ctx (Context): Click context object containing config association_id (str): The association identifier league_id (str): The league identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-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

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\f
Args:

ctx (Context): Click context object containing config association_id (str): The association identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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).f

Args:

ctx (Context): Click context object containing config location_id (str): The location UUID output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Comma-separated list of columns to display

Usage

gamesheet-admin locations get [OPTIONS]

Options

--location-id <location_id>

Required Location UUID to retrieve.

-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

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).f

Args:

ctx (Context): Click context object containing config output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Comma-separated list of columns to display

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

Args:

ctx (Context): Click context carrying the Config instance. email (str | None): Email address for login, or None to use the environment variable. password (str | None): Password for login, or None to prompt interactively. timeout (int): Page-load timeout in milliseconds.

Raises:

Exit: If authentication fails.

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.

--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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier first_name (str): Referee’s first name last_name (str): Referee’s last name email_address (str | None): Optional email address for the referee external_id (str | None): Optional external identifier for the referee output_format (str): Output format for rendering output_path (str | None): Optional output file path

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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier referee_id (str): The referee identifier to delete

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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier referee_id (str): The referee identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path

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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier referee_id (str): The referee identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path

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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier referee_id (str): The referee identifier to update first_name (str | None): Optional updated first name last_name (str | None): Optional updated last name email_address (str | None): Optional updated email address external_id (str | None): Optional updated external identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path

Raises:

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

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier

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.

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

Args:

ctx (Context): Click context object containing config coach_id (str): The coach identifier team_id (str): The team identifier position (str | None): Optional position output_format (str): Output format for rendering output_path (str | None): Optional output file path

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).f

Args:

ctx (Context): Click context object containing config first_name (str): Optional updated first name last_name (str): Optional updated last name external_id (str | None): Optional updated external identifier position (str | None): Optional position team_id (str | None): The team identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path

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

Args:

ctx (Context): Click context object containing config coach_id (str): The coach identifier to delete

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

Args:

ctx (Context): Click context object containing config coach_id (str): The coach identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns 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).f

Args:

ctx (Context): Click context object containing config output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

Args:

ctx (Context): Click context object containing config coach_id (str): Coach ID to retrieve penalty report for output_format (str): Output format (json, yaml, etc.) output_path (str | None): Optional path to write output file

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.

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

Args:

ctx (Context): Click context object containing config coach_id (str): The coach identifier team_id (str): The team identifier

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

Args:

ctx (Context): Click context object containing config coach_id (str): The coach identifier first_name (str | None): Optional updated first name last_name (str | None): Optional updated last name external_id (str | None): Optional updated external identifier position (str | None): Optional position output_format (str): Output format for rendering output_path (str | None): Optional output file path

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.

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

Args:

ctx (Context): Click context object containing config player_id (str): The player identifier team_id (str): The team identifier jersey (str | None): Optional jersey number position (str | None): Optional position status (str | None): Optional status designation (str | None): Optional designation output_format (str): Output format for rendering output_path (str | None): Optional output file path

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).f

Args:

ctx (Context): Click context object containing config first_name (str): Player’s first name last_name (str): Player’s last name external_id (str | None): Optional external identifier jersey (str | None): Optional jersey number position (str | None): Optional player position status (str | None): Optional player status designation (str | None): Optional player designation team_id (str | None): Optional team ID to assign player to biography (str | None): Optional player biography height (str | None): Optional player height weight (str | None): Optional player weight shot_hand (str | None): Optional shooting hand birthdate (str | None): Optional birthdate hometown (str | None): Optional hometown country (str | None): Optional country province (str | None): Optional province/state drafted_by (str | None): Optional drafted by team committed_to (str | None): Optional committed to team photo_path (str | None): Optional path to player photo output_format (str): Output format for rendering output_path (str | None): Optional output file path

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

Args:

ctx (Context): Click context object containing config player_id (str): The player identifier to delete

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

Args:

ctx (Context): Click context object containing config player_id (str): The player identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns 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).f

Args:

ctx (Context): Click context object containing config output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

Args:

ctx (Context): Click context object containing config player_id (str): Player ID to retrieve penalty report for output_format (str): Output format (json, yaml, etc.) output_path (str | None): Optional path to write output file

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.

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

Args:

ctx (Context): Click context object containing config player_id (str): The player identifier team_id (str): The team identifier

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

Args:

ctx (Context): Click context object containing config player_id (str): The player identifier to update output_format (str): Output format for rendering output_path (str | None): Optional output file path **player_kwargs (Any): Player attributes to update

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

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-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

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

Args:

ctx (Context): Click context object containing config league_id (str): The league identifier starts_after (str | None): Optional filter for seasons starting after this date ends_before (str | None): Optional filter for seasons ending before this date status (str | None): Optional filter for season status stats_year (str | None): Optional filter for statistics year title (str | None): Optional filter for season title output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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).f

Args:

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

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).f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier team_id (str): The team identifier to delete

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

GAMESHEET_TEAM_ID

Provide a default for --team-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.f

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier team_id (str): The team identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-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

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List all teams in the specified season.

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

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

Args:

ctx (Context): Click context object containing config season_id (str): The season identifier team_id (str): The team identifier

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.

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

Args:

ctx (Context): Click context object containing config coach_id (str): The coach identifier position (str | None): Optional position output_format (str): Output format for rendering output_path (str | None): Optional output file path

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).f

Args:

ctx (Context): Click context object containing config first_name (str): Optional updated first name last_name (str): Optional updated last name external_id (str | None): Optional updated external identifier position (str | None): Optional position output_format (str): Output format for rendering output_path (str | None): Optional output file path

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

Args:

ctx (Context): Click context object containing config coach_id (str): The coach identifier to delete

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).f

Args:

ctx (Context): Click context object containing config coach_id (str): The coach identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns 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).f

Args:

ctx (Context): Click context object containing config output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

Args:

ctx (Context): Click context object containing config coach_id (str): Coach ID to retrieve penalty report for output_format (str): Output format (json, yaml, etc.) output_path (str | None): Optional path to write output file

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.

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

Args:

ctx (Context): Click context object containing config coach_id (str): The coach identifier

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

Args:

ctx (Context): Click context object containing config coach_id (str): The coach identifier first_name (str | None): Optional updated first name last_name (str | None): Optional updated last name external_id (str | None): Optional updated external identifier position (str | None): Optional position output_format (str): Output format for rendering output_path (str | None): Optional output file path

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.

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

Args:

ctx (Context): Click context object containing config player_id (str): The player identifier jersey (str | None): Optional jersey number position (str | None): Optional position status (str | None): Optional status designation (str | None): Optional designation output_format (str): Output format for rendering output_path (str | None): Optional output file path

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).f

Args:

ctx (Context): Click context object containing config first_name (str): Optional updated first name last_name (str): Optional updated last name external_id (str | None): Optional updated external identifier jersey (str | None): Optional jersey number position (str | None): Optional position status (str | None): Optional status designation (str | None): Optional designation biography (str | None): Optional updated biography height (str | None): Optional updated height weight (str | None): Optional updated weight shot_hand (str | None): Optional updated shooting hand birthdate (str | None): Optional updated birthdate hometown (str | None): Optional updated hometown country (str | None): Optional updated country province (str | None): Optional updated province/state drafted_by (str | None): Optional updated drafted by team committed_to (str | None): Optional updated committed to team photo_path (str | None): Optional updated path to photo output_format (str): Output format for rendering output_path (str | None): Optional output file path

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

Args:

ctx (Context): Click context object containing config player_id (str): The player identifier to delete

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).f

Args:

ctx (Context): Click context object containing config player_id (str): The player identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

-c, --columns <columns_spec>

Comma-separated list of column names to include (default: all columns 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).f

Args:

ctx (Context): Click context object containing config output_format (str): Output format for rendering output_path (str | None): Optional output file path columns_spec (str | None): Optional comma-separated list of columns to display

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

Args:

ctx (Context): Click context object containing config player_id (str): Player ID to retrieve penalty report for output_format (str): Output format (json, yaml, etc.) output_path (str | None): Optional path to write output file

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.

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

Args:

ctx (Context): Click context object containing config player_id (str): The player identifier

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

Args:

ctx (Context): Click context object containing config player_id (str): The player identifier output_format (str): Output format for rendering output_path (str | None): Optional output file path **player_kwargs (Any): Player attributes to update

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

Args:

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

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

GAMESHEET_TEAM_ID

Provide a default for --team-id

3. Teams CLI

The teams CLI targets the GameSheet teams dashboard, providing HTTP-only authentication and access to team management and public lookup data.

gamesheet-teams

Unofficial CLI for the GameSheet teams dashboard.

Provides authentication, resource management, and utility commands.f

Args:

ctx (Context): Click context used to store the resolved Config. base_url (str | None): Override for the GameSheet base URL, or None to use the default. no_headless (bool): When True, show the browser window during Playwright flows. verbose (int): Logging verbosity level (0 = WARNING, 1 = INFO, 2 = DEBUG).

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)"\f
Args:

shell (str): Target shell (bash, zsh, or fish).

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

Args:

ctx (Context): Click context carrying the Config instance. email (str | None): Email address for login, or None to use the environment variable. password (str | None): Password for login, or None to prompt interactively. timeout (float): HTTP request timeout in seconds.

Raises:

Exit: If authentication fails.

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.

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

Args:

ctx (Context): Click context carrying the Config instance. category (str): Category name to retrieve. output_format (str): Output format (json, yaml, csv, tsv, or tabulate format). output_path (str | None): Optional file path to write output to.

Raises:

Exit: If fetching lookups fails.

Usage

gamesheet-teams lookups get [OPTIONS]

Options

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

Args:

ctx (Context): Click context carrying the Config instance. category (str | None): Optional category name to filter to. output_format (str): Output format (json, yaml, csv, tsv, or tabulate format). output_path (str | None): Optional file path to write output to.

Raises:

Exit: If fetching lookups fails.

Usage

gamesheet-teams lookups list [OPTIONS]

Options

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

members

Manage team members, staff, followers, and invitations.

Usage

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

Invite staff or followers to the team.

Usage

gamesheet-teams members invite [OPTIONS] COMMAND [ARGS]...
follower

Invite team followers.

Send an invitation to follow the team.f

NOT YET IMPLEMENTED - Follower invitation support is planned for a future release.

Raises:

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

Usage

gamesheet-teams members invite follower [OPTIONS]
staff

Invite team staff members.

Send an invitation to join the team as a staff member.f

NOT YET IMPLEMENTED - Staff invitation support is planned for a future release.

Raises:

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

Usage

gamesheet-teams members invite staff [OPTIONS]

messages

Manage team messages and chat conversations.

NOT YET IMPLEMENTED - Messages and chat support is planned for a future release.f

Raises:

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

Usage

gamesheet-teams messages [OPTIONS]

roster

Manage team rosters, coaches, and players.

Usage

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

Manage team coaches.

View and manage team coaching staff.f

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

Raises:

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

Usage

gamesheet-teams roster coaches [OPTIONS]
import

Import roster data.

Import team roster members and player information.f

NOT YET IMPLEMENTED - Roster import support is planned for a future release.

Raises:

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

Usage

gamesheet-teams roster import [OPTIONS]
players

Manage team players.

View and manage team player roster.f

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

Raises:

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

Usage

gamesheet-teams roster players [OPTIONS]

schedule

Manage team schedules, calendar events, practices, and games.

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

Usage

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

Delete a calendar event, occurrence, practice, or game.

Selected via --event-id / -e / --id or GAMESHEET_EVENT_ID.

Raises:

UsageError: If conflicting scope options are provided.

Usage

gamesheet-teams schedule delete [OPTIONS]

Options

-e, --event-id, --id <event_id>

Required Calendar event identifier or game ID to delete.

--type <event_type>

Type of event (‘event’, ‘game’, ‘practice’).

Options:

event | game | practice

-f, --force

Skip interactive confirmation prompts.

--all

Delete all occurrences of the event series (via /api/calendar/events).

--future

Delete this occurrence and all future occurrences.

--single

Delete only this single occurrence.

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

Provide a default for --event-id

events

Manage team calendar events.

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

Usage

gamesheet-teams schedule events [OPTIONS] COMMAND [ARGS]...
create

Create a new calendar event.

Supports flexible start/end datetime resolution.

Usage

gamesheet-teams schedule events create [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID for the event.

--title <title>

Required Event title.

--start-date-time <start_date_time>

Start date and time (ISO format or flexible string).

--end-time <end_time>

End time (e.g. ‘14:30’ or ‘2:30 PM’).

--start <start>

Flexible start datetime input.

--end <end>

Flexible end datetime or time input.

--date <date>

Event date (e.g. ‘2026-08-20’).

--duration <duration>

Event duration (e.g. ‘1h’, ‘90m’, ‘1.5h’).

--all-day

Mark as an all-day event.

--location <location>

Venue or location name/address.

--notes <notes>

Event notes or description.

--timezone <timezone>

Timezone name (defaults to local timezone).

--repeat <repeat>

Repeat frequency for recurring events.

Options:

daily | weekly | monthly

--repeat-interval, --interval <repeat_interval>

Interval for repeating events (e.g. 2 for every 2 weeks).

Default:

1

--repeat-by-day, --by-day, --byday <repeat_by_day>

Days of the week for weekly recurrence (e.g. ‘TU,TH’, ‘mon,wed’).

--repeat-until, --until <repeat_until>

End date for recurrence (e.g. ‘2027-03-22’).

--rrule <rrule>

Raw RRULE recurrence string (overrides –repeat flags).

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

Provide a default for --team-id

delete

Delete a calendar event series or occurrence.

Selected via --event-id / -e / --id or GAMESHEET_EVENT_ID.

Raises:

UsageError: If conflicting scope options are provided.

Usage

gamesheet-teams schedule events delete [OPTIONS]

Options

-e, --event-id, --id <event_id>

Required Identifier of the event or occurrence to delete.

-f, --force

Skip interactive confirmation prompts.

--all

Delete all occurrences of the event series (via /api/calendar/events).

--future

Delete this occurrence and all future occurrences.

--single

Delete only this single occurrence.

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

Provide a default for --event-id

get

Show details for a calendar event occurrence.

Selected via --event-id / -e / --id or GAMESHEET_EVENT_ID.

Usage

gamesheet-teams schedule events get [OPTIONS]

Options

-e, --event-id, --id <event_id>

Required Event occurrence identifier.

--availability, --include-availability

Include player/coach availability for the event.

-t, --team-id <team_id>

Team ID (required when fetching availability if not present in event).

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

Provide a default for --event-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List calendar events for a team.

Selected via --team-id / -t or the GAMESHEET_TEAM_ID environment variable.

Usage

gamesheet-teams schedule events list [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID to retrieve events for.

--month <month>

Month filter for calendar events (e.g. ‘all’, ‘2026-08’).

Default:

'all'

--event-data, --include-event-data

Include detailed eventData in the output.

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

Provide a default for --team-id

update

Update a calendar event occurrence.

Selected via --event-id / -e / --id or GAMESHEET_EVENT_ID.

Usage

gamesheet-teams schedule events update [OPTIONS]

Options

-e, --event-id, --id <event_id>

Required Identifier of the event occurrence to update.

--title <title>

Updated event title.

--start-date-time <start_date_time>

Start date and time (ISO format or flexible string).

--end-time <end_time>

End time (e.g. ‘14:30’ or ‘2:30 PM’).

--start <start>

Flexible start datetime input.

--end <end>

Flexible end datetime or time input.

--date <date>

Event date (e.g. ‘2026-08-20’).

--duration <duration>

Event duration (e.g. ‘1h’, ‘90m’, ‘1.5h’).

--location, --location-name <location_name>

Updated venue or location name.

--notes <notes>

Updated event notes or description.

--repeat <repeat>

Repeat frequency for recurring events.

Options:

daily | weekly | monthly

--repeat-interval, --interval <repeat_interval>

Interval for repeating events (e.g. 2 for every 2 weeks).

Default:

1

--repeat-by-day, --by-day, --byday <repeat_by_day>

Days of the week for weekly recurrence (e.g. ‘TU,TH’, ‘mon,wed’).

--repeat-until, --until <repeat_until>

End date for recurrence (e.g. ‘2027-03-22’).

--rrule <rrule>

Raw RRULE recurrence string (overrides –repeat flags).

--future

Update this and all future occurrences.

--single

Update only this single occurrence.

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

Provide a default for --event-id

export

Export schedule and calendar events to JSON or CSV.

Selected via --team-id / -t or the GAMESHEET_TEAM_ID environment variable.

Usage

gamesheet-teams schedule export [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID to export calendar data for.

--month <month>

Month filter for calendar events (e.g. ‘all’, ‘2026-08’).

Default:

'all'

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

Provide a default for --team-id

games

Manage scheduled games.

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

Usage

gamesheet-teams schedule games [OPTIONS] COMMAND [ARGS]...
create

Create a new scheduled game.

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. The association and league are derived from --season-id.f

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-teams schedule games create [OPTIONS]

Options

--season-id <season_id>

Required Season identifier.

--start-datetime, --start-date-time, --start <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-date-time, --end <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, --date <start_date>

Start Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Also supplies the end date unless –end-date is given.

--start-time <start_time>

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

--end-date <end_date>

End Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Defaults to the start date.

--end-time <end_time>

End Time component (e.g., ‘7:00pm’, ‘19:00’). Lands on the start date unless –end-date is given.

--duration <duration>

Game duration. Bare numbers are minutes (e.g., ‘75’); suffixed forms are also accepted (e.g., ‘1h15m’, ‘90m’, ‘1.5h’, ‘1:15’).

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

-t, --team-id <team_id>

Acting team identifier. Home unless –visitor/–away is given.

--division-id <division_id>

Acting team’s division identifier.

--opposing-team-id <opposing_team_id>

Opposing team identifier.

--opposing-division-id, --opposing-division <opposing_division_id>

Opposing team’s division identifier.

--home, --visitor

Which side –team-id is on. [default: –home]

--away

Alias for –visitor.

--number, --game-number <number>

Required Game number.

--game-type <game_type>

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

--location <location>

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

--scorekeeper-name <scorekeeper_name>

Scorekeeper’s full name.

--scorekeeper-phone <scorekeeper_phone>

Scorekeeper’s phone number.

--broadcaster, --broadcast-provider <broadcaster>

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

--time-zone-name, --timezone <time_zone_name>

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

--time-zone-offset <time_zone_offset>

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

--home-label <home_label>

Home team label override. Ignored with a warning by gamesheet-teams.

--visitor-label <visitor_label>

Visitor team label override. Ignored with a warning by gamesheet-teams.

-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

GAMESHEET_TEAM_ID

Provide a default for --team-id

GAMESHEET_DIVISION_ID

Provide a default for --division-id

delete

Delete a scheduled game.

Selected via --game-id / -g / --id or GAMESHEET_GAME_ID. This operation is destructive and requires confirmation unless –force is specified.f

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-teams schedule games delete [OPTIONS]

Options

-g, --game-id, --id <game_id>

Required Game identifier.

--season-id <season_id>

Season 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

-c, --columns <columns_spec>

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

-f, --force

Skip the confirmation prompt and delete this scheduled game immediately.

Environment variables

GAMESHEET_GAME_ID

Provide a default for --game-id

GAMESHEET_SEASON_ID

Provide a default for --season-id

get

Show details for a scheduled game.

Selected via --game-id / -g / --id or GAMESHEET_GAME_ID.f

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-teams schedule games get [OPTIONS]

Options

-g, --game-id, --id <game_id>

Required Game identifier.

--season-id <season_id>

Season identifier.

--availability, --include-availability

Include player/coach availability for the game.

-t, --team-id <team_id>

Team 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

-c, --columns <columns_spec>

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

Environment variables

GAMESHEET_GAME_ID

Provide a default for --game-id

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List scheduled games for a team.

Selected via --team-id / -t or the GAMESHEET_TEAM_ID environment variable.f

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-teams schedule games list [OPTIONS]

Options

-t, --team-id <team_id>

Required Team identifier.

--month <month>

Month filter for calendar events (e.g. ‘all’, ‘2026-08’).

Default:

'all'

--event-data, --include-event-data

Include detailed eventData in the output.

--season-id <season_id>

Season 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

-c, --columns <columns_spec>

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

Environment variables

GAMESHEET_TEAM_ID

Provide a default for --team-id

GAMESHEET_SEASON_ID

Provide a default for --season-id

update

Update a scheduled game.

Selected via --game-id / -g / --id or GAMESHEET_GAME_ID. Only specified fields are updated; unspecified fields retain their current values.f

Args:

ctx (Context): Click context object containing config. **params (Any): The unified game option set, as declared by the decorators above.

Usage

gamesheet-teams schedule games update [OPTIONS]

Options

-g, --game-id, --id <game_id>

Required Game identifier.

--season-id <season_id>

Season identifier.

--start-datetime, --start-date-time, --start <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-date-time, --end <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, --date <start_date>

Start Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Also supplies the end date unless –end-date is given.

--start-time <start_time>

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

--end-date <end_date>

End Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Defaults to the start date.

--end-time <end_time>

End Time component (e.g., ‘7:00pm’, ‘19:00’). Lands on the start date unless –end-date is given.

--duration <duration>

Game duration. Bare numbers are minutes (e.g., ‘75’); suffixed forms are also accepted (e.g., ‘1h15m’, ‘90m’, ‘1.5h’, ‘1:15’).

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

-t, --team-id <team_id>

Acting team identifier. Home unless –visitor/–away is given.

--division-id <division_id>

Acting team’s division identifier.

--opposing-team-id <opposing_team_id>

Opposing team identifier.

--opposing-division-id, --opposing-division <opposing_division_id>

Opposing team’s division identifier.

--home, --visitor

Which side –team-id is on. [default: –home]

--away

Alias for –visitor.

--number, --game-number <number>

Game number.

--game-type <game_type>

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

--location <location>

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

--scorekeeper-name <scorekeeper_name>

Scorekeeper’s full name.

--scorekeeper-phone <scorekeeper_phone>

Scorekeeper’s phone number.

--broadcaster, --broadcast-provider <broadcaster>

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

--time-zone-name, --timezone <time_zone_name>

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

--time-zone-offset <time_zone_offset>

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

--home-label <home_label>

Home team label override. Ignored with a warning by gamesheet-teams.

--visitor-label <visitor_label>

Visitor team label override. Ignored with a warning by gamesheet-teams.

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

Provide a default for --game-id

GAMESHEET_SEASON_ID

Provide a default for --season-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

GAMESHEET_DIVISION_ID

Provide a default for --division-id

get

Show details for a calendar event occurrence or scheduled game.

Selected via --event-id / -e / --id or GAMESHEET_EVENT_ID.

Usage

gamesheet-teams schedule get [OPTIONS]

Options

-e, --event-id, --id <event_id>

Required Calendar event occurrence identifier or game ID.

--type <event_type>

Type of event (‘event’, ‘game’, ‘practice’).

Options:

event | game | practice

--availability, --include-availability

Include player/coach availability for the event.

-t, --team-id <team_id>

Team ID (required when fetching availability if not present in event).

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

Provide a default for --event-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List calendar events, games, and practices for a team.

Selected via --team-id / -t or the GAMESHEET_TEAM_ID environment variable.

Usage

gamesheet-teams schedule list [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID to retrieve schedule for.

--month <month>

Month filter for calendar events (e.g. ‘all’, ‘2026-08’).

Default:

'all'

--event-data, --include-event-data

Include detailed eventData in the output.

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

Provide a default for --team-id

practices

Manage team practices.

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

Usage

gamesheet-teams schedule practices [OPTIONS] COMMAND [ARGS]...
create

Create a new team practice.

Supports flexible start/end datetime resolution.

Usage

gamesheet-teams schedule practices create [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID for the practice.

--title <title>

Practice title.

Default:

'Practice'

--start-date-time <start_date_time>

Start date and time (ISO format or flexible string).

--end-time <end_time>

End time (e.g. ‘14:30’ or ‘2:30 PM’).

--start <start>

Flexible start datetime input.

--end <end>

Flexible end datetime or time input.

--date <date>

Practice date (e.g. ‘2026-08-20’).

--duration <duration>

Practice duration (e.g. ‘1h’, ‘90m’, ‘1.5h’).

--all-day

Mark as an all-day practice.

--location <location>

Venue or location name/address.

--notes <notes>

Practice notes or description.

--timezone <timezone>

Timezone name (defaults to local timezone).

--repeat <repeat>

Repeat frequency for recurring practices.

Options:

daily | weekly | monthly

--repeat-interval, --interval <repeat_interval>

Interval for repeating practices (e.g. 2 for every 2 weeks).

Default:

1

--repeat-by-day, --by-day, --byday <repeat_by_day>

Days of the week for weekly recurrence (e.g. ‘TU,TH’, ‘mon,wed’).

--repeat-until, --until <repeat_until>

End date for recurrence (e.g. ‘2027-03-22’).

--rrule <rrule>

Raw RRULE recurrence string (overrides –repeat flags).

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

Provide a default for --team-id

delete

Delete a practice series or occurrence.

Selected via --practice-id / -p / --id or GAMESHEET_PRACTICE_ID.

Raises:

UsageError: If conflicting scope options are provided.

Usage

gamesheet-teams schedule practices delete [OPTIONS]

Options

-p, --practice-id, --id <practice_id>

Required Identifier of the practice or occurrence to delete.

-f, --force

Skip interactive confirmation prompts.

--all

Delete all occurrences of the practice series (via /api/calendar/events).

--future

Delete this occurrence and all future occurrences.

--single

Delete only this single occurrence.

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

Provide a default for --practice-id

get

Show details for a practice occurrence.

Selected via --practice-id / -p / --id or GAMESHEET_PRACTICE_ID.

Usage

gamesheet-teams schedule practices get [OPTIONS]

Options

-p, --practice-id, --id <practice_id>

Required Practice occurrence identifier.

--availability, --include-availability

Include player/coach availability for the practice.

-t, --team-id <team_id>

Team ID (required when fetching availability if not present in practice).

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

Provide a default for --practice-id

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List practices for a team.

Selected via --team-id / -t or the GAMESHEET_TEAM_ID environment variable.

Usage

gamesheet-teams schedule practices list [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID to retrieve practices for.

--month <month>

Month filter for calendar events (e.g. ‘all’, ‘2026-08’).

Default:

'all'

--event-data, --include-event-data

Include detailed eventData in the output.

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

Provide a default for --team-id

update

Update a practice occurrence.

Selected via --practice-id / -p / --id or GAMESHEET_PRACTICE_ID.

Usage

gamesheet-teams schedule practices update [OPTIONS]

Options

-p, --practice-id, --id <practice_id>

Required Practice ID to update.

--title <title>

Updated event title.

--start-date-time <start_date_time>

Start date and time (ISO format or flexible string).

--end-time <end_time>

End time (e.g. ‘14:30’ or ‘2:30 PM’).

--start <start>

Flexible start datetime input.

--end <end>

Flexible end datetime or time input.

--date <date>

Event date (e.g. ‘2026-08-20’).

--duration <duration>

Event duration (e.g. ‘1h’, ‘90m’, ‘1.5h’).

--location, --location-name <location_name>

Updated venue or location name.

--notes <notes>

Updated event notes or description.

--repeat <repeat>

Repeat frequency for recurring events.

Options:

daily | weekly | monthly

--repeat-interval, --interval <repeat_interval>

Interval for repeating events (e.g. 2 for every 2 weeks).

Default:

1

--repeat-by-day, --by-day, --byday <repeat_by_day>

Days of the week for weekly recurrence (e.g. ‘TU,TH’, ‘mon,wed’).

--repeat-until, --until <repeat_until>

End date for recurrence (e.g. ‘2027-03-22’).

--rrule <rrule>

Raw RRULE recurrence string (overrides –repeat flags).

--future

Update this and all future occurrences.

--single

Update only this single occurrence.

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

Provide a default for --practice-id

subscribe

Get calendar subscription URLs for Apple Calendar, Google Calendar, and webcal.

Selected via --team-id / -t or the GAMESHEET_TEAM_ID environment variable.

Usage

gamesheet-teams schedule subscribe [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID to get subscription URLs for.

--apple-calendar, --apple

Output only the Apple Calendar subscription URL.

--google-calendar, --google

Output only the Google Calendar subscription URL.

--calendar-url, --url, --webcal

Output only the generic calendar feed URL.

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

Provide a default for --team-id

update

Update a calendar event occurrence, practice, or scheduled game.

Selected via --event-id / -e / --id or GAMESHEET_EVENT_ID.

Usage

gamesheet-teams schedule update [OPTIONS]

Options

-e, --event-id, --id <event_id>

Required Identifier of the event, occurrence, or game to update.

--type <event_type>

Type of event (‘event’, ‘game’, ‘practice’).

Options:

event | game | practice

--title <title>

Updated title (for events/practices).

--start-datetime, --start-date-time <start_date_time>

Start date and time (ISO format or flexible string).

--end-datetime, --end-date-time <end_time>

End time (e.g. ‘14:30’ or ‘2:30 PM’).

--start-time, --start <start>

Flexible start datetime input.

--end-time, --end <end>

Flexible end datetime or time input.

--start-date, --date <date>

Date (e.g. ‘2026-08-20’).

--duration <duration>

Duration in minutes (e.g. ‘60’, ‘1h’, ‘90m’).

--location, --location-name <location_name>

Location or facility name.

--notes <notes>

Notes or description (events/practices only).

--repeat <repeat>

Repeat frequency for recurring events/practices.

Options:

daily | weekly | monthly

--repeat-interval, --interval <repeat_interval>

Interval for repeating events/practices (e.g. 2 for every 2 weeks).

Default:

1

--repeat-by-day, --by-day, --byday <repeat_by_day>

Days of the week for weekly recurrence (e.g. ‘TU,TH’, ‘mon,wed’).

--repeat-until, --until <repeat_until>

End date for recurrence (e.g. ‘2027-03-22’).

--rrule <rrule>

Raw RRULE string for custom recurrence (events/practices only).

-t, --team-id <team_id>

Updated home team ID (games only).

-s, --season-id <season_id>

Updated season ID (games only).

-d, --division-id <division_id>

Updated division ID (games only).

--opposing-team-id, --opponent <opposing_team_id>

Updated opposing / visitor team ID (games only).

--opposing-division <opposing_division>

Updated opposing division name (games only).

-a, --association-id <association_id>

Updated association ID (games only).

-l, --league-id <league_id>

Updated league ID (games only).

--home, --away

Whether this is a home game (games only).

-n, --game-number <game_number>

Updated game number string (games only).

--game-type <game_type>

Game type (e.g. ‘EX’, ‘PRE’, ‘REG’, ‘PLAYOFF’, ‘TOURN’, ‘OTHER’) (games only).

--scorekeeper-name <scorekeeper_name>

Updated scorekeeper name (games only).

--scorekeeper-phone <scorekeeper_phone>

Updated scorekeeper phone number (games only).

--broadcast-provider <broadcast_provider>

Updated broadcast provider (games only).

--timezone <timezone>

Timezone for the game (e.g. ‘America/New_York’) (games only).

--future

Update this and all future occurrences (events/practices only).

--single

Update only this single occurrence (events/practices only).

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

Provide a default for --event-id

seasons

View seasons, penalty codes, and teams from the teams API.

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

Usage

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

Get detailed metadata for a specific season.

Retrieves season details excluding penaltyCodes and teams.f

Args:

ctx (Context): Click context object containing config. season_id (str): Season identifier. output_format (str): Output format for rendering. output_path (str | None): Optional output file path. columns_spec (str | None): Optional comma-separated list of columns to display.

Usage

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

-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

list

List all seasons available to the authenticated user.

Focuses on association ID/title, season ID, league ID/title, stats year, and season title.f

Args:

ctx (Context): Click context object containing config. output_format (str): Output format for rendering. output_path (str | None): Optional output file path. columns_spec (str | None): Optional comma-separated list of columns to display.

Usage

gamesheet-teams seasons 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-codes

List all penalty codes configured for a specific season.

Retrieves all penalty code definitions and rules for the season.f

Args:

ctx (Context): Click context object containing config. season_id (str): Season identifier. output_format (str): Output format for rendering. output_path (str | None): Optional output file path. columns_spec (str | None): Optional comma-separated list of columns to display.

Usage

gamesheet-teams seasons penalty-codes [OPTIONS]

Options

--season-id <season_id>

Required Season ID to retrieve penalty codes 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

List all teams participating in a specific season.

Retrieves all team records associated with the season.f

Args:

ctx (Context): Click context object containing config. season_id (str): Season identifier. output_format (str): Output format for rendering. output_path (str | None): Optional output file path. columns_spec (str | None): Optional comma-separated list of columns to display.

Usage

gamesheet-teams seasons teams [OPTIONS]

Options

--season-id <season_id>

Required Season ID to retrieve 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

teams

View and update teams from the teams API.

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

Usage

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

Archive a team.

Archiving a team will remove it from active lists and prevent members from interacting with it, but all data will be preserved and it can be unarchived at any time.f

Args:

ctx (Context): Click context object containing config. team_id (str): Team identifier to archive. output_format (str): Output format for rendering. output_path (str | None): Optional output file path. columns_spec (str | None): Optional comma-separated list of columns to display.

Usage

gamesheet-teams teams archive [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID to archive.

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

Provide a default for --team-id

delete

Delete a team.

Permanently deletes a team.f

Args:

ctx (Context): Click context object containing config. team_id (str): Team identifier to delete.

Usage

gamesheet-teams teams delete [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID to delete.

-f, --force

Skip the confirmation prompt and delete team immediately.

Environment variables

GAMESHEET_TEAM_ID

Provide a default for --team-id

get

Get detailed metadata for a specific team.

Retrieves all attributes and configuration for the selected team.f

Args:

ctx (Context): Click context object containing config. team_id (str): Team identifier. output_format (str): Output format for rendering. output_path (str | None): Optional output file path. columns_spec (str | None): Optional comma-separated list of columns to display.

Usage

gamesheet-teams teams get [OPTIONS]

Options

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

-c, --columns <columns_spec>

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

Environment variables

GAMESHEET_TEAM_ID

Provide a default for --team-id

list

List all teams available to the authenticated user.

Focuses on member ID, team ID, relationship, status, onboarding completion timestamp, team name, age category, club ID, joined timestamp, and stats year.f

Args:

ctx (Context): Click context object containing config. output_format (str): Output format for rendering. output_path (str | None): Optional output file path. columns_spec (str | None): Optional comma-separated list of columns to display.

Usage

gamesheet-teams teams 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).

restore

Restore an archived team back to active lists.

Restoring a team will add it back to active lists and allow members to interact with it.f

Args:

ctx (Context): Click context object containing config. team_id (str): Team identifier to restore. output_format (str): Output format for rendering. output_path (str | None): Optional output file path. columns_spec (str | None): Optional comma-separated list of columns to display.

Usage

gamesheet-teams teams restore [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID to restore.

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

Provide a default for --team-id

update

Update an existing team’s metadata.

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

Args:

ctx (Context): Click context object containing config. team_id (str): Team identifier to update. team_name (str | None): Optional new team name. skill (str | None): Optional new skill level. team_logo (str | None): Optional local image path or logo URL. age_category (str | None): Optional new age category. province (str | None): Optional new province/state code. output_format (str): Output format for rendering. output_path (str | None): Optional output file path. columns_spec (str | None): Optional comma-separated list of columns to display.

Raises:

Exit: If no fields are provided for update.

Usage

gamesheet-teams teams update [OPTIONS]

Options

-t, --team-id <team_id>

Required Team ID to update.

--team-name, --name <team_name>

New name for the team.

--skill <skill>

Skill level of the team (e.g., rec, AAA).

Path to a local image file or URL for the team logo.

--age-category <age_category>

Age category of the team (e.g., U18, 12U).

--province <province>

Province or state code (e.g., VA, ON).

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

Provide a default for --team-id

4. 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).

4.1. Basic authentication

Authenticate with GameSheet and save session tokens:

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

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

4.3. 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).

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

4.5. Browser visibility

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

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

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

5. 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).

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

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

6.2. Example usage

# Authenticate using environment variables instead of prompts
export GAMESHEET_USERNAME="user@example.com"
export GAMESHEET_PASSWORD="secret"  # pragma: allowlist 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

7. 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 6. Environment Variables section above for details.

8. See also