Command-line Interface¶
The package installs two console scripts:
gamesheet-admin— CLI for the GameSheet admin dashboard (entry point:gamesheet_sdk.admin.cli.main.main())gamesheet-teams— CLI for the GameSheet teams dashboard (entry point:gamesheet_sdk.teams.cli.main.main())
Both CLIs share common infrastructure (authentication, configuration, output formatting) from gamesheet_sdk.common.
Rich Help Output¶
Both CLIs use rich-click to provide beautifully formatted help output with:
Grouped options — Configuration and general options are organized into separate sections for clarity
Grouped commands — Commands are categorized (Authentication, Resource Management) for easier navigation
Rich formatting — Tables, borders, and color-coded sections enhance readability
Consistent styling — All help pages follow the same visual design for a polished experience
Admin CLI¶
The admin CLI provides full resource management for the GameSheet admin dashboard.
gamesheet-admin¶
Unofficial CLI for the GameSheet admin dashboard.
Provides authentication, resource management, and utility commands.
- param ctx:
Click context used to store the resolved
Config.- type ctx:
Context
- param base_url:
Override for the GameSheet base URL, or
Noneto use the default.- type base_url:
str | None
- param no_headless:
When
True, show the browser window during Playwright flows.- type no_headless:
bool
- param verbose:
Logging verbosity level (0 = WARNING, 1 = INFO, 2 = DEBUG).
- type verbose:
int
Usage
gamesheet-admin [OPTIONS] [COMMAND] [ARGS]...
Options
- -V, --version¶
Show the version and exit.
- --base-url <base_url>¶
GameSheet base URL (default: https://gamesheet.app).
- --no-headless¶
Show the browser window when running Playwright flows.
- -v, --verbose¶
Increase logging verbosity (-v = INFO, -vv = DEBUG).
Environment variables
- GAMESHEET_BASE_URL
Provide a default for
--base-url
associations¶
Manage associations.
Invoking associations with no sub-command runs list by default.
Usage
gamesheet-admin associations [OPTIONS] COMMAND [ARGS]...
get¶
Get detailed information about a specific association.
The association ID can be provided via –association-id or the GAMESHEET_ASSOCIATION_ID environment variable. Requires a saved session from gamesheet-admin login – the bearer token is read out of the browser storage state on disk and attached to the HTTP request. No browser is launched. The output displays association metadata as key-value pairs, with each field on its own row.
- param ctx:
Click context object containing config
- type ctx:
Context
- param association_id:
The association identifier
- type association_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param fields_spec:
Optional comma-separated list of fields to display
- type fields_spec:
str | None
Usage
gamesheet-admin associations get [OPTIONS]
Options
- --association-id <association_id>¶
Required Association ID to retrieve details for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_ASSOCIATION_ID
Provide a default for
--association-id
list¶
List all associations on your GameSheet account.
Requires authentication (run ‘gamesheet-admin login’ first). Retrieves all associations accessible by your account and displays them in the specified output format. .. rubric:: Examples
List all associations in default format:
$ gamesheet-admin associations list
List associations in JSON format:
$ gamesheet-admin associations list --format json
List associations with only id and title columns:
$ gamesheet-admin associations list --columns id,title
Save associations to a YAML file:
$ gamesheet-admin associations list --format yaml --output assocs.yaml
- param ctx:
Click context object containing config
- type ctx:
Context
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param columns_spec:
Optional comma-separated list of columns to display
- type columns_spec:
str | None
Usage
gamesheet-admin associations list [OPTIONS]
Options
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
completion¶
Emit shell completion script for the specified shell.
Source the output to enable tab-completion:
eval "$(gamesheet-admin completion bash)"
- param shell:
Target shell (bash, zsh, or fish).
- type shell:
str
Usage
gamesheet-admin completion [OPTIONS] {bash|zsh|fish}
Arguments
- SHELL¶
Required argument
divisions¶
Manage divisions within a season.
Invoking divisions with no sub-command runs list by default.
Usage
gamesheet-admin divisions [OPTIONS] COMMAND [ARGS]...
create¶
Create a new division in the specified season.
Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param title: Division name/title :type title: str :param external_id: Optional external identifier :type external_id: str | None :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None
Usage
gamesheet-admin divisions create [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID in which to create the division.
- --title <title>¶
Required Division name/title.
- --external-id <external_id>¶
Optional external identifier for integration with third-party systems.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
delete¶
Delete a division.
Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param division_id: The division identifier to delete :type division_id: str
Usage
gamesheet-admin divisions delete [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the division.
- --division-id <division_id>¶
Required Division ID to delete.
- -f, --force¶
Skip the confirmation prompt and delete division immediately.
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
get¶
Get detailed information about a specific division.
The division ID can be provided via –division-id or the GAMESHEET_DIVISION_ID environment variable. Requires a saved session from gamesheet-admin login. The output displays division metadata as key-value pairs, with each field on its own row. :param ctx: Click context object containing config :type ctx: Context :param division_id: The division identifier :type division_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param fields_spec: Optional comma-separated list of fields to display :type fields_spec: str | None
Usage
gamesheet-admin divisions get [OPTIONS]
Options
- --division-id <division_id>¶
Required Division ID to retrieve details for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_DIVISION_ID
Provide a default for
--division-id
list¶
List all divisions in the specified season.
Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param columns_spec: Optional comma-separated list of columns to display :type columns_spec: str | None
Usage
gamesheet-admin divisions list [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID to list divisions for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
teams¶
Manage teams within a division.
Invoking teams with no sub-command runs list by default.
Usage
gamesheet-admin divisions teams [OPTIONS] COMMAND [ARGS]...
create¶
Create a new team in the specified division.
Delegates to teams create functionality. :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param division_id: Division ID the team belongs to :type division_id: str :param title: Team name/title :type title: str :param external_id: Optional external identifier :type external_id: str | None :param logo_path: Optional path to a logo image file :type logo_path: str | None :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None
Usage
gamesheet-admin divisions teams create [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID to create the team in.
- --division-id <division_id>¶
Required Division ID the team belongs to.
- --title <title>¶
Required Team name/title.
- --logo <logo_path>¶
Optional path to a local logo image file.
- --external-id <external_id>¶
Optional external identifier for the team.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
- GAMESHEET_DIVISION_ID
Provide a default for
--division-id
delete¶
Delete a team.
Delegates to teams delete functionality. :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param team_id: The team identifier to delete :type team_id: str
Usage
gamesheet-admin divisions teams delete [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the team.
- --team-id <team_id>¶
Required Team ID to delete.
- -f, --force¶
Skip the confirmation prompt and delete team immediately.
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
- GAMESHEET_TEAM_ID
Provide a default for
--team-id
get¶
Get detailed information about a specific team.
Delegates to teams get functionality. :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param team_id: The team identifier :type team_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None
Usage
gamesheet-admin divisions teams get [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the team.
- --team-id <team_id>¶
Required Team ID to retrieve.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
- GAMESHEET_TEAM_ID
Provide a default for
--team-id
list¶
List all teams in the specified division.
Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param division_id: The division identifier :type division_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param columns_spec: Optional comma-separated list of columns to display :type columns_spec: str | None
Usage
gamesheet-admin divisions teams list [OPTIONS]
Options
- --division-id <division_id>¶
Required Division ID to list teams for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
Environment variables
- GAMESHEET_DIVISION_ID
Provide a default for
--division-id
update¶
Update an existing team.
Delegates to teams update functionality. :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param team_id: The team identifier to update :type team_id: str :param title: Optional new team name/title :type title: str | None :param division_id: Optional new division ID :type division_id: str | None :param external_id: Optional new external identifier :type external_id: str | None :param logo_path: Optional path to a new logo image file :type logo_path: str | None :param remove_logo: Remove the team’s logo :type remove_logo: bool :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None
Usage
gamesheet-admin divisions teams update [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the team.
- --team-id <team_id>¶
Required Team ID to update.
- --remove-logo¶
Remove the team’s logo.
- --logo <logo_path>¶
Path to a new logo image file.
- --external-id <external_id>¶
New external identifier.
- --division-id <division_id>¶
New division ID.
- --title <title>¶
New team name/title.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
- GAMESHEET_TEAM_ID
Provide a default for
--team-id
update¶
Update an existing division.
At least one of –title or –external-id must be provided. Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param season_id: The season identifier :type season_id: str :param division_id: The division identifier to update :type division_id: str :param title: Optional new division name/title :type title: str | None :param external_id: Optional new external identifier :type external_id: str | None :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :raises Exit: If neither title nor external_id is provided
Usage
gamesheet-admin divisions update [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the division.
- --division-id <division_id>¶
Required Division ID to update.
- --title <title>¶
New division name/title.
- --external-id <external_id>¶
New external identifier.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
games¶
Manage games (scheduled, completed, brackets) within a season.
Invoking games with no sub-command runs scheduled by default. The –season-id option is required
and applies to all sub-commands.
:param ctx: Click context object containing config
:type ctx: Context
:param season_id: The season identifier
:type season_id: str
Usage
gamesheet-admin games [OPTIONS] COMMAND [ARGS]...
Options
- --season-id <season_id>¶
Required Season ID for games.
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
brackets¶
Manage bracket games.
Invoking brackets with no sub-command runs list by default.
Usage
gamesheet-admin games brackets [OPTIONS] COMMAND [ARGS]...
list¶
List all bracket games in the specified season.
NOT YET IMPLEMENTED - Bracket games support is planned for a future release.
- param output_format:
Output format (ignored - command not implemented).
- type output_format:
str
- param output_path:
Output file path (ignored - command not implemented).
- type output_path:
str | None
- param columns_spec:
Columns specification (ignored - command not implemented).
- type columns_spec:
str | None
- raises Exit:
Always raised (exit code 1) because this command is not yet implemented.
Usage
gamesheet-admin games brackets list [OPTIONS]
Options
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
completed¶
Manage completed games.
Invoking completed with no sub-command runs list by default.
Usage
gamesheet-admin games completed [OPTIONS] COMMAND [ARGS]...
download¶
Download the PDF scoresheet for a completed game.
Requires authentication (run ‘gamesheet-admin login’ first). If –output-path is not specified, the filename is automatically generated from game details in the format: {date}-scoresheet-{id}-{visitor}-vs-{home}-{game_number}.pdf :param ctx: Click context object containing config :type ctx: Context :param game_id: The game identifier :type game_id: str :param output_path: File path where the PDF will be saved (optional) :type output_path: str | None
Usage
gamesheet-admin games completed download [OPTIONS]
Options
- --game-id <game_id>¶
Required Game ID to download scoresheet for.
- -o, --output-path <output_path>¶
File path where the PDF scoresheet will be saved. If not specified, generates a filename from game details.
Environment variables
- GAMESHEET_GAME_ID
Provide a default for
--game-id
get¶
Get detailed information about a completed game.
Returns full game details including rosters, goals, shots, penalties, and statistics. :param ctx: Click context object containing config :type ctx: Context :param game_id: The game identifier :type game_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param fields_spec: Optional comma-separated list of fields to display :type fields_spec: str | None
Usage
gamesheet-admin games completed get [OPTIONS]
Options
- --game-id <game_id>¶
Required Game ID to retrieve.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_GAME_ID
Provide a default for
--game-id
list¶
List all completed games in the specified season.
Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param columns_spec: Optional comma-separated list of columns to display :type columns_spec: str | None
Usage
gamesheet-admin games completed list [OPTIONS]
Options
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
scheduled¶
Manage scheduled games.
Invoking scheduled with no sub-command runs list by default.
Usage
gamesheet-admin games scheduled [OPTIONS] COMMAND [ARGS]...
create¶
Create a new scheduled game.
Requires authentication (run ‘gamesheet-admin login’ first). Provide any two of
--start-datetime (or --start-date + --start-time), --end-datetime
(or --end-date + --end-time), and --duration to automatically calculate
the third. If time zone options are not specified, they default to the local system
timezone.
- param ctx:
Click context object containing config
- type ctx:
Context
- param start_datetime:
Start date and time (flexible format)
- type start_datetime:
str | None
- param end_datetime:
End date and time (flexible format)
- type end_datetime:
str | None
- param start_date:
Start date component
- type start_date:
str | None
- param start_time_str:
Start time component
- type start_time_str:
str | None
- param end_date:
End date component
- type end_date:
str | None
- param end_time_str:
End time component
- type end_time_str:
str | None
- param duration:
Game duration in minutes
- type duration:
int | None
- param home_team_id:
Home team identifier
- type home_team_id:
str
- param home_division_id:
Home team division identifier
- type home_division_id:
str
- param visitor_team_id:
Visitor team identifier
- type visitor_team_id:
str
- param visitor_division_id:
Visitor team division identifier
- type visitor_division_id:
str
- param location:
Game location/venue
- type location:
str
- param scorekeeper_name:
Scorekeeper’s full name
- type scorekeeper_name:
str
- param scorekeeper_phone:
Scorekeeper’s phone number
- type scorekeeper_phone:
str
- param game_type:
Game type
- type game_type:
str
- param time_zone_name:
IANA time zone name (optional, defaults to system)
- type time_zone_name:
str | None
- param time_zone_offset:
Time zone offset in minutes (optional, defaults to system)
- type time_zone_offset:
int | None
- param number:
Game number
- type number:
str
- param broadcaster:
Broadcast provider name
- type broadcaster:
str
- param home_label:
Home team label override
- type home_label:
str
- param visitor_label:
Visitor team label override
- type visitor_label:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin games scheduled create [OPTIONS]
Options
- --start-datetime <start_datetime>¶
Start date and time. Flexible date/time format (e.g., ‘2026-07-04 7:00pm’, ‘July 4 2026 19:00’, ‘2026-07-04T19:00:00-04:00’). If no timezone is specified, the system timezone is used. Mutually exclusive with –start-date/–start-time.
- --end-datetime <end_datetime>¶
End date and time. Flexible date/time format (e.g., ‘2026-07-04 7:00pm’, ‘July 4 2026 19:00’, ‘2026-07-04T19:00:00-04:00’). If no timezone is specified, the system timezone is used. Mutually exclusive with –end-date/–end-time.
- --start-date <start_date>¶
Start Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Use with –start-time.
- --start-time <start_time_str>¶
Start Time component (e.g., ‘7:00pm’, ‘19:00’). Use with –start-date.
- --end-date <end_date>¶
End Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Use with –end-time.
- --end-time <end_time_str>¶
End Time component (e.g., ‘7:00pm’, ‘19:00’). Use with –end-date.
- --duration <duration>¶
Game duration in positive minutes.
- --home-team-id <home_team_id>¶
Required Home team identifier.
- --home-division-id <home_division_id>¶
Required Home team division identifier.
- --visitor-team-id <visitor_team_id>¶
Required Visitor team identifier.
- --visitor-division-id <visitor_division_id>¶
Required Visitor team division identifier.
- --location <location>¶
Game location/venue (optional). Format: ‘<location_name> <surface_name>’ (case-insensitive). Validated against API.
- --scorekeeper-name <scorekeeper_name>¶
Scorekeeper’s full name (optional).
- --scorekeeper-phone <scorekeeper_phone>¶
Scorekeeper’s phone number (optional).
- --game-type <game_type>¶
Required Game type. Valid: playoff, exhibition, tournament, regular_season.
- --time-zone-name <time_zone_name>¶
IANA time zone name (e.g., America/New_York). Defaults to system timezone.
- --time-zone-offset <time_zone_offset>¶
Time zone offset in minutes (e.g., -240 for EDT). Defaults to system timezone offset.
- --number <number>¶
Required Game number.
- --broadcaster <broadcaster>¶
Broadcast provider key (optional, case-insensitive, e.g., LIVEBARN). Validated against API.
- --home-label <home_label>¶
Home team label override (optional).
- --visitor-label <visitor_label>¶
Visitor team label override (optional).
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
delete¶
Delete a scheduled game.
Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and requires confirmation unless –force is specified. :param ctx: Click context object containing config :type ctx: Context :param game_id: Game identifier :type game_id: str
Usage
gamesheet-admin games scheduled delete [OPTIONS]
Options
- --game-id <game_id>¶
Required Game ID to delete.
- -f, --force¶
Skip the confirmation prompt and delete this scheduled game immediately.
get¶
Get detailed information about a scheduled game.
Uses the JSON:API /api/seasons/{id}/schedule/{game_id} endpoint for richer structured data. :param ctx: Click context object containing config :type ctx: Context :param game_id: The game identifier :type game_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param fields_spec: Optional comma-separated list of fields to display :type fields_spec: str | None
Usage
gamesheet-admin games scheduled get [OPTIONS]
Options
- --game-id <game_id>¶
Required Game ID to retrieve.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_GAME_ID
Provide a default for
--game-id
list¶
List all scheduled games in the specified season.
Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param columns_spec: Optional comma-separated list of columns to display :type columns_spec: str | None
Usage
gamesheet-admin games scheduled list [OPTIONS]
Options
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
update¶
Update a scheduled game.
Requires authentication (run ‘gamesheet-admin login’ first). Only specified fields are updated;
unspecified fields retain their current values. You may provide any combination of
--start-datetime (or --start-date + --start-time), --end-datetime
(or --end-date + --end-time), and --duration to automatically calculate
missing time fields.
- param ctx:
Click context object containing config
- type ctx:
Context
- param game_id:
Game identifier
- type game_id:
str
- param start_datetime:
Start date and time (flexible format)
- type start_datetime:
str | None
- param end_datetime:
End date and time (flexible format)
- type end_datetime:
str | None
- param start_date:
Start date component
- type start_date:
str | None
- param start_time_str:
Start time component
- type start_time_str:
str | None
- param end_date:
End date component
- type end_date:
str | None
- param end_time_str:
End time component
- type end_time_str:
str | None
- param duration:
Game duration in minutes
- type duration:
int | None
- param home_team_id:
Home team identifier
- type home_team_id:
str | None
- param home_division_id:
Home team division identifier
- type home_division_id:
str | None
- param visitor_team_id:
Visitor team identifier
- type visitor_team_id:
str | None
- param visitor_division_id:
Visitor team division identifier
- type visitor_division_id:
str | None
- param location:
Game location/venue
- type location:
str | None
- param scorekeeper_name:
Scorekeeper’s full name
- type scorekeeper_name:
str | None
- param scorekeeper_phone:
Scorekeeper’s phone number
- type scorekeeper_phone:
str | None
- param game_type:
Game type
- type game_type:
str | None
- param time_zone_name:
IANA time zone name
- type time_zone_name:
str | None
- param time_zone_offset:
Time zone offset in minutes
- type time_zone_offset:
int | None
- param number:
Game number
- type number:
str | None
- param broadcaster:
Broadcast provider name
- type broadcaster:
str | None
- param home_label:
Home team label override
- type home_label:
str | None
- param visitor_label:
Visitor team label override
- type visitor_label:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin games scheduled update [OPTIONS]
Options
- --game-id <game_id>¶
Required Game ID to update.
- --start-datetime <start_datetime>¶
Start date and time. Flexible date/time format (e.g., ‘2026-07-04 7:00pm’, ‘July 4 2026 19:00’, ‘2026-07-04T19:00:00-04:00’). If no timezone is specified, the system timezone is used. Mutually exclusive with –start-date/–start-time.
- --end-datetime <end_datetime>¶
End date and time. Flexible date/time format (e.g., ‘2026-07-04 7:00pm’, ‘July 4 2026 19:00’, ‘2026-07-04T19:00:00-04:00’). If no timezone is specified, the system timezone is used. Mutually exclusive with –end-date/–end-time.
- --start-date <start_date>¶
Start Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Use with –start-time.
- --start-time <start_time_str>¶
Start Time component (e.g., ‘7:00pm’, ‘19:00’). Use with –start-date.
- --end-date <end_date>¶
End Date component (e.g., ‘2026-07-04’, ‘July 4 2026’). Use with –end-time.
- --end-time <end_time_str>¶
End Time component (e.g., ‘7:00pm’, ‘19:00’). Use with –end-date.
- --duration <duration>¶
Game duration in positive minutes.
- --home-team-id <home_team_id>¶
Home team identifier.
- --home-division-id <home_division_id>¶
Home team division identifier.
- --visitor-team-id <visitor_team_id>¶
Visitor team identifier.
- --visitor-division-id <visitor_division_id>¶
Visitor team division identifier.
- --location <location>¶
Game location/venue. Format: ‘<location_name> <surface_name>’ (case-insensitive). Validated against API.
- --scorekeeper-name <scorekeeper_name>¶
Scorekeeper’s full name.
- --scorekeeper-phone <scorekeeper_phone>¶
Scorekeeper’s phone number.
- --game-type <game_type>¶
Game type. Valid: playoff, exhibition, tournament, regular_season.
- --time-zone-name <time_zone_name>¶
IANA time zone name (e.g., America/New_York)
- --time-zone-offset <time_zone_offset>¶
Time zone offset in minutes (e.g., -240 for EDT)
- --number <number>¶
Game number.
- --broadcaster <broadcaster>¶
Broadcast provider key (case-insensitive, e.g., LIVEBARN). Validated against API.
- --home-label <home_label>¶
Home team label override.
- --visitor-label <visitor_label>¶
Visitor team label override.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
ipad-keys¶
Manage iPad / Scoring Access Keys for a season.
iPad keys (Scoring Access Keys) are credentials used by the GameSheet iPad app for live game scoring. Keys are season-specific and enable authorized devices to record scores, penalties, and game stats. Invoking ‘ipad-keys’ with no sub-command runs ‘get’ by default.
Usage
gamesheet-admin ipad-keys [OPTIONS] COMMAND [ARGS]...
get¶
Get iPad / Scoring Access Keys for a specific season.
Requires authentication (run ‘gamesheet-admin login’ first). Retrieves all iPad keys configured for the specified season. These keys are used by the GameSheet iPad app for live game scoring. The season ID can be provided via –season-id or the GAMESHEET_SEASON_ID environment variable. .. rubric:: Examples
Get all iPad keys for a season in default format:
$ gamesheet-admin ipad-keys get --season-id 12345
Get iPad keys in JSON format:
$ gamesheet-admin ipad-keys get --season-id 12345 --format json
Get iPad keys with only id and value columns:
$ gamesheet-admin ipad-keys --season-id 12345 --columns id,value
Save iPad keys to a CSV file:
$ gamesheet-admin ipad-keys get --season-id 12345 --format csv --output keys.csv
Use environment variable for season ID:
$ export GAMESHEET_SEASON_ID=12345
$ gamesheet-admin ipad-keys
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param columns_spec:
Optional comma-separated list of columns to display
- type columns_spec:
str | None
Usage
gamesheet-admin ipad-keys get [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID to retrieve iPad keys for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
leagues¶
Manage leagues within an association.
A league represents a subdivision of an association, typically organized by division, age group, or skill level. Invoking ‘leagues’ with no sub-command runs ‘list’ by default.
Usage
gamesheet-admin leagues [OPTIONS] COMMAND [ARGS]...
get¶
Get detailed information about a specific league.
The league and association IDs can be provided via command-line options or environment variables (GAMESHEET_LEAGUE_ID, GAMESHEET_ASSOCIATION_ID). Requires a saved session from gamesheet-admin login. The output displays league metadata as key-value pairs, with each field on its own row. :param ctx: Click context object containing config :type ctx: Context :param association_id: The association identifier :type association_id: str :param league_id: The league identifier :type league_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param fields_spec: Optional comma-separated list of fields to display :type fields_spec: str | None
Usage
gamesheet-admin leagues get [OPTIONS]
Options
- --association-id <association_id>¶
Required Association ID containing the league.
- --league-id <league_id>¶
Required League ID to retrieve details for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_ASSOCIATION_ID
Provide a default for
--association-id
- GAMESHEET_LEAGUE_ID
Provide a default for
--league-id
list¶
List all leagues in the specified association.
Requires authentication (run ‘gamesheet-admin login’ first). Retrieves all leagues belonging to the specified association and displays them in the specified output format. The association ID can be provided via –association-id or the GAMESHEET_ASSOCIATION_ID environment variable. .. rubric:: Examples
List all leagues in an association in default format:
$ gamesheet-admin leagues list --association-id ABC123
List leagues in JSON format:
$ gamesheet-admin leagues list --association-id ABC123 --format json
List leagues with only id and name columns:
$ gamesheet-admin leagues list --association-id ABC123 --columns id,name
Save leagues to a YAML file:
$ gamesheet-admin leagues list --association-id ABC123 --format yaml --output leagues.yaml
Use environment variable for association ID:
$ export GAMESHEET_ASSOCIATION_ID=ABC123
$ gamesheet-admin leagues list
- param ctx:
Click context object containing config
- type ctx:
Context
- param association_id:
The association identifier
- type association_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param columns_spec:
Optional comma-separated list of columns to display
- type columns_spec:
str | None
Usage
gamesheet-admin leagues list [OPTIONS]
Options
- --association-id <association_id>¶
Required Association ID to list leagues for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
Environment variables
- GAMESHEET_ASSOCIATION_ID
Provide a default for
--association-id
locations¶
Manage game locations and venues.
View available locations/venues and their surfaces for scheduling games.
Usage
gamesheet-admin locations [OPTIONS] COMMAND [ARGS]...
get¶
Get a specific location by ID.
Retrieve detailed information about a specific location using its UUID. The location ID can be found using the ‘list’ command.
Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param location_id: The location UUID :type location_id: str :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param fields_spec: Comma-separated list of fields to display :type fields_spec: str | None
Usage
gamesheet-admin locations get [OPTIONS]
Options
- --location-id <location_id>¶
Required Location UUID to retrieve.
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
list¶
List all available locations.
Returns the list of locations/venues from the GameSheet API. Each location includes the venue name, surface/rink name, and geographic information.
Requires authentication (run ‘gamesheet-admin login’ first). :param ctx: Click context object containing config :type ctx: Context :param output_format: Output format for rendering :type output_format: str :param output_path: Optional output file path :type output_path: str | None :param columns_spec: Comma-separated list of columns to display :type columns_spec: str | None
Usage
gamesheet-admin locations list [OPTIONS]
Options
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
login¶
Authenticate with the GameSheet admin dashboard and save session tokens.
Opens a headless browser, navigates to the admin login page, submits credentials, and extracts authentication tokens. Tokens are saved to disk so subsequent commands can authenticate without launching a browser.
- param ctx:
Click context carrying the
Configinstance.- type ctx:
Context
- param email:
Email address for login, or
Noneto use the environment variable.- type email:
str | None
- param password:
Password for login, or
Noneto prompt interactively.- type password:
str | None
- param timeout:
Page-load timeout in milliseconds.
- type timeout:
int
Usage
gamesheet-admin login [OPTIONS]
Options
- -e, --email <email>¶
Email address (or set GAMESHEET_USERNAME).
- -p, --password <password>¶
Password (or set GAMESHEET_PASSWORD). Prompted if omitted.
- -t, --timeout <timeout>¶
Page-load timeout in milliseconds.
Environment variables
- GAMESHEET_USERNAME
Provide a default for
--email
- GAMESHEET_PASSWORD
Provide a default for
--password
referees¶
Manage referees within a season.
Invoking referees with no sub-command runs list by default.
Usage
gamesheet-admin referees [OPTIONS] COMMAND [ARGS]...
create¶
Create a new referee in the specified season.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param first_name:
Referee’s first name
- type first_name:
str
- param last_name:
Referee’s last name
- type last_name:
str
- param email_address:
Optional email address for the referee
- type email_address:
str | None
- param external_id:
Optional external identifier for the referee
- type external_id:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin referees create [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID to create the referee in.
- --first-name <first_name>¶
Required Referee’s first name.
- --last-name <last_name>¶
Required Referee’s last name.
- --email-address <email_address>¶
Optional email address for the referee.
- --external-id <external_id>¶
Optional external identifier for the referee.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
delete¶
Delete a referee.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param referee_id:
The referee identifier to delete
- type referee_id:
str
Usage
gamesheet-admin referees delete [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the referee.
- --referee-id <referee_id>¶
Required Referee ID to delete.
- -f, --force¶
Skip the confirmation prompt and delete referee immediately.
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
get¶
Get a single referee by ID.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param referee_id:
The referee identifier
- type referee_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin referees get [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the referee.
- --referee-id <referee_id>¶
Required Referee ID to retrieve.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
list¶
List all referees in the specified season.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param columns_spec:
Optional comma-separated list of columns to display
- type columns_spec:
str | None
Usage
gamesheet-admin referees list [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID to list referees for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
report¶
Get a comprehensive referee report with statistics and games.
Retrieves career statistics, games officiated, and penalty details. Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param referee_id:
The referee identifier
- type referee_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin referees report [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the referee.
- --referee-id <referee_id>¶
Required Referee ID to retrieve report for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
update¶
Update an existing referee in the specified season.
At least one field must be provided to update. Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param referee_id:
The referee identifier to update
- type referee_id:
str
- param first_name:
Optional updated first name
- type first_name:
str | None
- param last_name:
Optional updated last name
- type last_name:
str | None
- param email_address:
Optional updated email address
- type email_address:
str | None
- param external_id:
Optional updated external identifier
- type external_id:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- raises click.UsageError:
If no fields are provided for update
Usage
gamesheet-admin referees update [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the referee.
- --referee-id <referee_id>¶
Required Referee ID to update.
- --first-name <first_name>¶
Updated first name.
- --last-name <last_name>¶
Updated last name.
- --email-address <email_address>¶
Updated email address.
- --external-id <external_id>¶
Updated external identifier.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
roster¶
Manage roster (players and coaches) within a season.
Invoking roster with no sub-command runs players by default. The –season-id option is required
and applies to all sub-commands.
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
Usage
gamesheet-admin roster [OPTIONS] COMMAND [ARGS]...
Options
- --season-id <season_id>¶
Required Season ID to manage roster for.
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
coaches¶
Manage coaches.
Invoking coaches with no sub-command runs list by default.
Usage
gamesheet-admin roster coaches [OPTIONS] COMMAND [ARGS]...
assign¶
Assign an existing coach to a team’s roster. .
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
The coach identifier
- type coach_id:
str
- param team_id:
The team identifier
- type team_id:
str
- param position:
Optional position
- type position:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin roster coaches assign [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to assign.
- --team-id <team_id>¶
Required Team ID to assign to.
- --position <position>¶
Optional position.
- Options:
Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
- GAMESHEET_TEAM_ID
Provide a default for
--team-id
create¶
Create a new coach in the season.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param first_name:
Optional updated first name
- type first_name:
str
- param last_name:
Optional updated last name
- type last_name:
str
- param external_id:
Optional updated external identifier
- type external_id:
str | None
- param position:
Optional position
- type position:
str | None
- param team_id:
The team identifier
- type team_id:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- raises Exit:
Always raised (exit code 1) because this command is not yet implemented.
Usage
gamesheet-admin roster coaches create [OPTIONS]
Options
- --first-name <first_name>¶
Required Coach’s first name.
- --last-name <last_name>¶
Required Coach’s last name.
- --external-id <external_id>¶
Optional external identifier for the coach.
- --position <position>¶
Optional position.
- Options:
Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large
- --team-id <team_id>¶
Optional team ID to associate the coach with.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
delete¶
Delete a coach from the season.
Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and cannot be undone. Use –force to skip confirmation prompt.
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
The coach identifier to delete
- type coach_id:
str
- raises Exit:
On authentication or API errors.
Usage
gamesheet-admin roster coaches delete [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to delete.
- -f, --force¶
Skip the confirmation prompt and delete coach immediately.
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
get¶
Get detailed information about a specific coach.
The coach ID can be provided via –coach-id or the GAMESHEET_COACH_ID environment variable. The season ID is inherited from the parent roster command. Requires a saved session from gamesheet-admin login. The output displays coach metadata as key-value pairs, with each field on its own row.
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
The coach identifier
- type coach_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param fields_spec:
Optional comma-separated list of fields to display
- type fields_spec:
str | None
Usage
gamesheet-admin roster coaches get [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to retrieve details for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
list¶
List all coaches in the specified season.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param columns_spec:
Optional comma-separated list of columns to display
- type columns_spec:
str | None
Usage
gamesheet-admin roster coaches list [OPTIONS]
Options
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
penalty-report¶
Get penalty report for a coach.
Retrieves penalty statistics, incidents, and infraction history for the specified coach.
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
Coach ID to retrieve penalty report for
- type coach_id:
str
- param output_format:
Output format (json, yaml, etc.)
- type output_format:
str
- param output_path:
Optional path to write output file
- type output_path:
str | None
Usage
gamesheet-admin roster coaches penalty-report [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to retrieve penalty report for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
unassign¶
Unassign a coach from a team’s roster. .
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
The coach identifier
- type coach_id:
str
- param team_id:
The team identifier
- type team_id:
str
Usage
gamesheet-admin roster coaches unassign [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to unassign.
- --team-id <team_id>¶
Required Team ID to unassign from.
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
- GAMESHEET_TEAM_ID
Provide a default for
--team-id
update¶
Update an existing coach.
Requires authentication (run ‘gamesheet-admin login’ first). At least one field must be provided for update.
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
The coach identifier
- type coach_id:
str
- param first_name:
Optional updated first name
- type first_name:
str | None
- param last_name:
Optional updated last name
- type last_name:
str | None
- param external_id:
Optional updated external identifier
- type external_id:
str | None
- param position:
Optional position
- type position:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- raises Exit:
Always raised (exit code 1) because this command is not yet implemented.
Usage
gamesheet-admin roster coaches update [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to update.
- --first-name <first_name>¶
Updated first name.
- --last-name <last_name>¶
Updated last name.
- --external-id <external_id>¶
Updated external identifier.
- --position <position>¶
Updated position.
- Options:
Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
players¶
Manage players.
Invoking players with no sub-command runs list by default.
Usage
gamesheet-admin roster players [OPTIONS] COMMAND [ARGS]...
assign¶
Assign an existing player to a team’s roster. .
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
The player identifier
- type player_id:
str
- param team_id:
The team identifier
- type team_id:
str
- param jersey:
Optional jersey number
- type jersey:
str | None
- param position:
Optional position
- type position:
str | None
- param status:
Optional status
- type status:
str | None
- param designation:
Optional designation
- type designation:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin roster players assign [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to assign.
- --team-id <team_id>¶
Required Team ID to assign to.
- --jersey <jersey>¶
Optional jersey number.
- --position <position>¶
Optional position.
- Options:
Forward | Left Wing | Right Wing | Centre | Pusher (Sled) | Defence | Goalie
- --status <status>¶
Optional status.
- Options:
Regular | Affiliated
- --designation <designation>¶
Optional designation.
- Options:
Captain | Alternate Captain
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
- GAMESHEET_TEAM_ID
Provide a default for
--team-id
create¶
Create a new player in the season.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param first_name:
Player’s first name
- type first_name:
str
- param last_name:
Player’s last name
- type last_name:
str
- param external_id:
Optional external identifier
- type external_id:
str | None
- param jersey:
Optional jersey number
- type jersey:
str | None
- param position:
Optional player position
- type position:
str | None
- param status:
Optional player status
- type status:
str | None
- param designation:
Optional player designation
- type designation:
str | None
- param team_id:
Optional team ID to assign player to
- type team_id:
str | None
- param biography:
Optional player biography
- type biography:
str | None
- param height:
Optional player height
- type height:
str | None
- param weight:
Optional player weight
- type weight:
str | None
- param shot_hand:
Optional shooting hand
- type shot_hand:
str | None
- param birthdate:
Optional birthdate
- type birthdate:
str | None
- param hometown:
Optional hometown
- type hometown:
str | None
- param country:
Optional country
- type country:
str | None
- param province:
Optional province/state
- type province:
str | None
- param drafted_by:
Optional drafted by team
- type drafted_by:
str | None
- param committed_to:
Optional committed to team
- type committed_to:
str | None
- param photo_path:
Optional path to player photo
- type photo_path:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- raises Exit:
On authentication or API errors.
Usage
gamesheet-admin roster players create [OPTIONS]
Options
- --first-name <first_name>¶
Required Player’s first name.
- --last-name <last_name>¶
Required Player’s last name.
- --external-id <external_id>¶
Optional external identifier for the player.
- --jersey <jersey>¶
Optional jersey number.
- --position <position>¶
Optional position.
- Options:
Forward | Left Wing | Right Wing | Centre | Pusher (Sled) | Defence | Goalie
- --status <status>¶
Optional status.
- Options:
Regular | Affiliated
- --designation <designation>¶
Optional designation (Captain or Alternate Captain).
- Options:
Captain | Alternate Captain
- --team-id <team_id>¶
Optional team ID to associate the player with.
- --biography <biography>¶
Optional biography text.
- --height <height>¶
Optional height (e.g., “6’2"”).
- --weight <weight>¶
Optional weight (e.g., “185”).
- --shot-hand <shot_hand>¶
Optional shooting hand.
- Options:
left | right
- --birthdate <birthdate>¶
Optional birthdate (ISO format: YYYY-MM-DD).
- --hometown <hometown>¶
Optional hometown.
- --country <country>¶
Optional country code (e.g., “US”, “CA”).
- --province <province>¶
Optional province/state.
- --drafted-by <drafted_by>¶
Optional drafted by team name.
- --committed-to <committed_to>¶
Optional committed to institution.
- --photo <photo_path>¶
Optional path to a local photo image file.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
delete¶
Delete a player from the season.
Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and cannot be undone. Use –force to skip confirmation prompt.
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
The player identifier to delete
- type player_id:
str
- raises Exit:
On authentication or API errors.
Usage
gamesheet-admin roster players delete [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to delete.
- -f, --force¶
Skip the confirmation prompt and delete player immediately.
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
get¶
Get detailed information about a specific player.
The player ID can be provided via –player-id or the GAMESHEET_PLAYER_ID environment variable. The season ID is inherited from the parent roster command. Requires a saved session from gamesheet-admin login. The output displays player metadata as key-value pairs, with each field on its own row.
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
The player identifier
- type player_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param fields_spec:
Optional comma-separated list of fields to display
- type fields_spec:
str | None
Usage
gamesheet-admin roster players get [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to retrieve details for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
list¶
List all players in the specified season.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param columns_spec:
Optional comma-separated list of columns to display
- type columns_spec:
str | None
Usage
gamesheet-admin roster players list [OPTIONS]
Options
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
penalty-report¶
Get penalty report for a player.
Retrieves penalty statistics, incidents, and infraction history for the specified player.
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
Player ID to retrieve penalty report for
- type player_id:
str
- param output_format:
Output format (json, yaml, etc.)
- type output_format:
str
- param output_path:
Optional path to write output file
- type output_path:
str | None
Usage
gamesheet-admin roster players penalty-report [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to retrieve penalty report for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
unassign¶
Unassign a player from a team’s roster. .
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
The player identifier
- type player_id:
str
- param team_id:
The team identifier
- type team_id:
str
Usage
gamesheet-admin roster players unassign [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to unassign.
- --team-id <team_id>¶
Required Team ID to unassign from.
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
- GAMESHEET_TEAM_ID
Provide a default for
--team-id
update¶
Update an existing player.
Requires authentication (run ‘gamesheet-admin login’ first). At least one field must be provided for update.
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
The player identifier to update
- type player_id:
str
- param first_name:
Optional updated first name
- type first_name:
str | None
- param last_name:
Optional updated last name
- type last_name:
str | None
- param external_id:
Optional updated external identifier
- type external_id:
str | None
- param biography:
Optional updated biography
- type biography:
str | None
- param height:
Optional updated height
- type height:
str | None
- param weight:
Optional updated weight
- type weight:
str | None
- param shot_hand:
Optional updated shooting hand
- type shot_hand:
str | None
- param birthdate:
Optional updated birthdate
- type birthdate:
str | None
- param hometown:
Optional updated hometown
- type hometown:
str | None
- param country:
Optional updated country
- type country:
str | None
- param province:
Optional updated province/state
- type province:
str | None
- param drafted_by:
Optional updated drafted by team
- type drafted_by:
str | None
- param committed_to:
Optional updated committed to team
- type committed_to:
str | None
- param photo_path:
Optional path to updated player photo
- type photo_path:
str | None
- param remove_photo:
Remove the player’s photo
- type remove_photo:
bool
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- raises Exit:
On authentication or API errors.
Usage
gamesheet-admin roster players update [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to update.
- --first-name <first_name>¶
Updated first name.
- --last-name <last_name>¶
Updated last name.
- --external-id <external_id>¶
Updated external identifier.
- --biography <biography>¶
Updated biography text.
- --height <height>¶
Updated height (e.g., 6’2”).
- --weight <weight>¶
Updated weight (e.g., 185).
- --shot-hand <shot_hand>¶
Updated shooting hand.
- Options:
left | right
- --birthdate <birthdate>¶
Updated birthdate (ISO format: YYYY-MM-DD).
- --hometown <hometown>¶
Updated hometown.
- --country <country>¶
Updated country code (e.g., US, CA).
- --province <province>¶
Updated province/state.
- --drafted-by <drafted_by>¶
Updated drafted by team name.
- --committed-to <committed_to>¶
Updated committed to institution.
- --photo <photo_path>¶
Path to a new photo image file.
- --remove-photo¶
Remove the player’s photo.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
seasons¶
Manage seasons within a league.
Invoking seasons with no sub-command runs list by default.
Usage
gamesheet-admin seasons [OPTIONS] COMMAND [ARGS]...
get¶
Get detailed information about a specific season.
The season ID can be provided via –season-id or the GAMESHEET_SEASON_ID environment variable. Requires a saved session from gamesheet-admin login – the bearer token is read out of the browser storage state on disk and attached to the HTTP request. No browser is launched. The output displays season metadata as key- value pairs, with each field on its own row. Complex nested fields (like settings, flagging_criteria) are displayed as JSON.
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param fields_spec:
Optional comma-separated list of fields to display
- type fields_spec:
str | None
Usage
gamesheet-admin seasons get [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID to retrieve details for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
list¶
List the seasons in the specified league.
The league ID can be provided via –league-id or the GAMESHEET_LEAGUE_ID environment variable. Requires a saved session from gamesheet-admin login – the bearer token is read out of the browser storage state on disk and attached to the HTTP request. No browser is launched.
Optional filters can be applied to narrow the results: –starts-after, –ends-before, –status, –stats-year, and –title.
- param ctx:
Click context object containing config
- type ctx:
Context
- param league_id:
The league identifier
- type league_id:
str
- param starts_after:
Optional filter for seasons starting after this date
- type starts_after:
str | None
- param ends_before:
Optional filter for seasons ending before this date
- type ends_before:
str | None
- param status:
Optional filter for season status
- type status:
str | None
- param stats_year:
Optional filter for statistics year
- type stats_year:
str | None
- param title:
Optional filter for season title
- type title:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param columns_spec:
Optional comma-separated list of columns to display
- type columns_spec:
str | None
Usage
gamesheet-admin seasons list [OPTIONS]
Options
- --league-id <league_id>¶
Required League ID to list seasons for.
- --starts-after <starts_after>¶
Filter seasons starting after this date (ISO format: YYYY-MM-DD).
- --ends-before <ends_before>¶
Filter seasons ending before this date (ISO format: YYYY-MM-DD).
- --status <status>¶
Filter by season status.
- Options:
archived | active | all
- --stats-year <stats_year>¶
Filter by statistics year (e.g., ‘2026-2027’).
- --title <title>¶
Filter by season title (free-form text search).
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
Environment variables
- GAMESHEET_LEAGUE_ID
Provide a default for
--league-id
teams¶
Manage teams within a season.
Invoking teams with no sub-command runs list by default.
Usage
gamesheet-admin teams [OPTIONS] COMMAND [ARGS]...
create¶
Create a new team in the specified season.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param title:
Team name/title
- type title:
str
- param division_id:
Division ID the team belongs to
- type division_id:
str
- param external_id:
Optional external identifier
- type external_id:
str | None
- param logo_path:
Optional path to a logo image file
- type logo_path:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin teams create [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID to create the team in.
- --title <title>¶
Required Team name/title.
- --division-id <division_id>¶
Required Division ID the team belongs to.
- --logo <logo_path>¶
Optional path to a local logo image file.
- --external-id <external_id>¶
Optional external identifier for the team.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
delete¶
Delete a team.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param team_id:
The team identifier to delete
- type team_id:
str
Usage
gamesheet-admin teams delete [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the team.
- --team-id <team_id>¶
Required Team ID to delete.
- -f, --force¶
Skip the confirmation prompt and delete team immediately.
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
get¶
Get detailed information about a specific team.
The team and season IDs can be provided via command-line options or environment variables (GAMESHEET_TEAM_ID, GAMESHEET_SEASON_ID). Requires a saved session from gamesheet-admin login. The output displays team metadata as key-value pairs, with each field on its own row.
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param team_id:
The team identifier
- type team_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param fields_spec:
Optional comma-separated list of fields to display
- type fields_spec:
str | None
Usage
gamesheet-admin teams get [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the team.
- --team-id <team_id>¶
Required Team ID to retrieve details for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
- GAMESHEET_TEAM_ID
Provide a default for
--team-id
list¶
List all teams in the specified season.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param columns_spec:
Optional comma-separated list of columns to display
- type columns_spec:
str | None
Usage
gamesheet-admin teams list [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID to list teams for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
roster¶
Manage roster (players and coaches) for a specific team.
Invoking roster with no sub-command runs players by default. The –season-id and –team-id options
are required and apply to all sub-commands.
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param team_id:
The team identifier
- type team_id:
str
Usage
gamesheet-admin teams roster [OPTIONS] COMMAND [ARGS]...
Options
- --season-id <season_id>¶
Required Season ID to manage roster for.
- --team-id <team_id>¶
Required Team ID to manage roster for.
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
- GAMESHEET_TEAM_ID
Provide a default for
--team-id
coaches¶
Manage coaches for this team.
Invoking coaches with no sub-command runs list by default.
Usage
gamesheet-admin teams roster coaches [OPTIONS] COMMAND [ARGS]...
assign¶
Assign an existing coach to this team’s roster. .
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
The coach identifier
- type coach_id:
str
- param position:
Optional position
- type position:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin teams roster coaches assign [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to assign.
- --position <position>¶
Optional position.
- Options:
Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
create¶
Add a coach to this team.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param first_name:
Optional updated first name
- type first_name:
str
- param last_name:
Optional updated last name
- type last_name:
str
- param external_id:
Optional updated external identifier
- type external_id:
str | None
- param position:
Optional position
- type position:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- raises Exit:
Always raised (exit code 1) because this command is not yet implemented.
Usage
gamesheet-admin teams roster coaches create [OPTIONS]
Options
- --first-name <first_name>¶
Required Coach’s first name.
- --last-name <last_name>¶
Required Coach’s last name.
- --external-id <external_id>¶
Optional external identifier for the coach.
- --position <position>¶
Optional position.
- Options:
Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
delete¶
Delete a coach from the team’s roster and the season.
Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and cannot be undone. Use –force to skip confirmation prompt.
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
The coach identifier to delete
- type coach_id:
str
- raises Exit:
On authentication or API errors.
Usage
gamesheet-admin teams roster coaches delete [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to delete.
- -f, --force¶
Skip the confirmation prompt and delete coach immediately.
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
get¶
Get detailed information about a specific coach on this team.
The coach ID can be provided via –coach-id or the GAMESHEET_COACH_ID environment variable. The season ID and team ID are inherited from the parent roster command. Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
The coach identifier
- type coach_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param fields_spec:
Optional comma-separated list of fields to display
- type fields_spec:
str | None
Usage
gamesheet-admin teams roster coaches get [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to retrieve details for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
list¶
List all coaches for this team.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param columns_spec:
Optional comma-separated list of columns to display
- type columns_spec:
str | None
Usage
gamesheet-admin teams roster coaches list [OPTIONS]
Options
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
penalty-report¶
Get penalty report for a coach on this team.
Retrieves penalty statistics, incidents, and infraction history for the specified coach.
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
Coach ID to retrieve penalty report for
- type coach_id:
str
- param output_format:
Output format (json, yaml, etc.)
- type output_format:
str
- param output_path:
Optional path to write output file
- type output_path:
str | None
Usage
gamesheet-admin teams roster coaches penalty-report [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to retrieve penalty report for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
unassign¶
Unassign a coach from this team’s roster. .
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
The coach identifier
- type coach_id:
str
Usage
gamesheet-admin teams roster coaches unassign [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to unassign.
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
update¶
Update a coach on this team.
Requires authentication (run ‘gamesheet-admin login’ first). At least one field must be provided for update.
- param ctx:
Click context object containing config
- type ctx:
Context
- param coach_id:
The coach identifier
- type coach_id:
str
- param first_name:
Optional updated first name
- type first_name:
str | None
- param last_name:
Optional updated last name
- type last_name:
str | None
- param external_id:
Optional updated external identifier
- type external_id:
str | None
- param position:
Optional position
- type position:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- raises Exit:
Always raised (exit code 1) because this command is not yet implemented.
Usage
gamesheet-admin teams roster coaches update [OPTIONS]
Options
- --coach-id <coach_id>¶
Required Coach ID to update.
- --first-name <first_name>¶
Updated first name.
- --last-name <last_name>¶
Updated last name.
- --external-id <external_id>¶
Updated external identifier.
- --position <position>¶
Updated position.
- Options:
Head Coach | Assistant Coach | Head Coach at Large | Assistant Coach at Large | Assistant Trainer | Manager | Trainer | Trainer at Large
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_COACH_ID
Provide a default for
--coach-id
players¶
Manage players for this team.
Invoking players with no sub-command runs list by default.
Usage
gamesheet-admin teams roster players [OPTIONS] COMMAND [ARGS]...
assign¶
Assign an existing player to this team’s roster. .
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
The player identifier
- type player_id:
str
- param jersey:
Optional jersey number
- type jersey:
str | None
- param position:
Optional position
- type position:
str | None
- param status:
Optional status
- type status:
str | None
- param designation:
Optional designation
- type designation:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin teams roster players assign [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to assign.
- --jersey <jersey>¶
Optional jersey number.
- --position <position>¶
Optional position.
- Options:
Forward | Left Wing | Right Wing | Centre | Pusher (Sled) | Defence | Goalie
- --status <status>¶
Optional status.
- Options:
Regular | Affiliated
- --designation <designation>¶
Optional designation.
- Options:
Captain | Alternate Captain
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
create¶
Add a player to this team.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param first_name:
Optional updated first name
- type first_name:
str
- param last_name:
Optional updated last name
- type last_name:
str
- param external_id:
Optional updated external identifier
- type external_id:
str | None
- param jersey:
Optional jersey number
- type jersey:
str | None
- param position:
Optional position
- type position:
str | None
- param status:
Optional status
- type status:
str | None
- param designation:
Optional designation
- type designation:
str | None
- param biography:
Optional updated biography
- type biography:
str | None
- param height:
Optional updated height
- type height:
str | None
- param weight:
Optional updated weight
- type weight:
str | None
- param shot_hand:
Optional updated shooting hand
- type shot_hand:
str | None
- param birthdate:
Optional updated birthdate
- type birthdate:
str | None
- param hometown:
Optional updated hometown
- type hometown:
str | None
- param country:
Optional updated country
- type country:
str | None
- param province:
Optional updated province/state
- type province:
str | None
- param drafted_by:
Optional updated drafted by team
- type drafted_by:
str | None
- param committed_to:
Optional updated committed to team
- type committed_to:
str | None
- param photo_path:
Optional updated path to photo
- type photo_path:
str | None
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- raises Exit:
On authentication or API errors.
Usage
gamesheet-admin teams roster players create [OPTIONS]
Options
- --first-name <first_name>¶
Required Player’s first name.
- --last-name <last_name>¶
Required Player’s last name.
- --external-id <external_id>¶
Optional external identifier for the player.
- --jersey <jersey>¶
Optional jersey number.
- --position <position>¶
Optional position.
- Options:
Forward | Left Wing | Right Wing | Centre | Pusher (Sled) | Defence | Goalie
- --status <status>¶
Optional status.
- Options:
Regular | Affiliated
- --designation <designation>¶
Optional designation (Captain or Alternate Captain).
- Options:
Captain | Alternate Captain
- --biography <biography>¶
Optional biography text.
- --height <height>¶
Optional height (e.g., “6’2"”).
- --weight <weight>¶
Optional weight (e.g., “185”).
- --shot-hand <shot_hand>¶
Optional shooting hand.
- Options:
left | right
- --birthdate <birthdate>¶
Optional birthdate (ISO format: YYYY-MM-DD).
- --hometown <hometown>¶
Optional hometown.
- --country <country>¶
Optional country code (e.g., “US”, “CA”).
- --province <province>¶
Optional province/state.
- --drafted-by <drafted_by>¶
Optional drafted by team name.
- --committed-to <committed_to>¶
Optional committed to institution.
- --photo <photo_path>¶
Optional path to a local photo image file.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
delete¶
Delete a player from the team’s roster and the season.
Requires authentication (run ‘gamesheet-admin login’ first). This operation is destructive and cannot be undone. Use –force to skip confirmation prompt.
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
The player identifier to delete
- type player_id:
str
- raises Exit:
On authentication or API errors.
Usage
gamesheet-admin teams roster players delete [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to delete.
- -f, --force¶
Skip the confirmation prompt and delete player immediately.
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
get¶
Get detailed information about a specific player on this team.
The player ID can be provided via –player-id or the GAMESHEET_PLAYER_ID environment variable. The season ID and team ID are inherited from the parent roster command. Requires authentication (run ‘gamesheet-sdk- py login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
The player identifier
- type player_id:
str
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param fields_spec:
Optional comma-separated list of fields to display
- type fields_spec:
str | None
Usage
gamesheet-admin teams roster players get [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to retrieve details for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -f, --fields <fields_spec>¶
Comma-separated list of field names to include (default: all fields the API returns).
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
list¶
List all players for this team.
Requires authentication (run ‘gamesheet-admin login’ first).
- param ctx:
Click context object containing config
- type ctx:
Context
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- param columns_spec:
Optional comma-separated list of columns to display
- type columns_spec:
str | None
Usage
gamesheet-admin teams roster players list [OPTIONS]
Options
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -c, --columns <columns_spec>¶
Comma-separated list of column names to include (default: all columns the API returns).
penalty-report¶
Get penalty report for a player on this team.
Retrieves penalty statistics, incidents, and infraction history for the specified player.
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
Player ID to retrieve penalty report for
- type player_id:
str
- param output_format:
Output format (json, yaml, etc.)
- type output_format:
str
- param output_path:
Optional path to write output file
- type output_path:
str | None
Usage
gamesheet-admin teams roster players penalty-report [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to retrieve penalty report for.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
unassign¶
Unassign a player from this team’s roster. .
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
The player identifier
- type player_id:
str
Usage
gamesheet-admin teams roster players unassign [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to unassign.
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
update¶
Update a player on this team.
Requires authentication (run ‘gamesheet-admin login’ first). At least one field must be provided for update.
- param ctx:
Click context object containing config
- type ctx:
Context
- param player_id:
The player identifier
- type player_id:
str
- param first_name:
Optional updated first name
- type first_name:
str | None
- param last_name:
Optional updated last name
- type last_name:
str | None
- param external_id:
Optional updated external identifier
- type external_id:
str | None
- param biography:
Optional updated biography
- type biography:
str | None
- param height:
Optional updated height
- type height:
str | None
- param weight:
Optional updated weight
- type weight:
str | None
- param shot_hand:
Optional updated shooting hand
- type shot_hand:
str | None
- param birthdate:
Optional updated birthdate
- type birthdate:
str | None
- param hometown:
Optional updated hometown
- type hometown:
str | None
- param country:
Optional updated country
- type country:
str | None
- param province:
Optional updated province/state
- type province:
str | None
- param drafted_by:
Optional updated drafted by team
- type drafted_by:
str | None
- param committed_to:
Optional updated committed to team
- type committed_to:
str | None
- param photo_path:
Optional updated path to photo
- type photo_path:
str | None
- param remove_photo:
Remove the photo
- type remove_photo:
bool
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
- raises Exit:
On authentication or API errors.
Usage
gamesheet-admin teams roster players update [OPTIONS]
Options
- --player-id <player_id>¶
Required Player ID to update.
- --first-name <first_name>¶
Updated first name.
- --last-name <last_name>¶
Updated last name.
- --external-id <external_id>¶
Updated external identifier.
- --biography <biography>¶
Updated biography text.
- --height <height>¶
Updated height (e.g., 6’2”).
- --weight <weight>¶
Updated weight (e.g., 185).
- --shot-hand <shot_hand>¶
Updated shooting hand.
- Options:
left | right
- --birthdate <birthdate>¶
Updated birthdate (ISO format: YYYY-MM-DD).
- --hometown <hometown>¶
Updated hometown.
- --country <country>¶
Updated country code (e.g., US, CA).
- --province <province>¶
Updated province/state.
- --drafted-by <drafted_by>¶
Updated drafted by team name.
- --committed-to <committed_to>¶
Updated committed to institution.
- --photo <photo_path>¶
Path to a new photo image file.
- --remove-photo¶
Remove the player’s photo.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_PLAYER_ID
Provide a default for
--player-id
update¶
Update an existing team.
Requires authentication (run ‘gamesheet-admin login’ first). At least one field must be provided for update.
- param ctx:
Click context object containing config
- type ctx:
Context
- param season_id:
The season identifier
- type season_id:
str
- param team_id:
The team identifier to update
- type team_id:
str
- param title:
Optional new team name/title
- type title:
str | None
- param division_id:
Optional new division ID
- type division_id:
str | None
- param external_id:
Optional new external identifier
- type external_id:
str | None
- param logo_path:
Optional path to a new logo image file
- type logo_path:
str | None
- param remove_logo:
Remove the team’s logo
- type remove_logo:
bool
- param output_format:
Output format for rendering
- type output_format:
str
- param output_path:
Optional output file path
- type output_path:
str | None
Usage
gamesheet-admin teams update [OPTIONS]
Options
- --season-id <season_id>¶
Required Season ID containing the team.
- --team-id <team_id>¶
Required Team ID to update.
- --remove-logo¶
Remove the team’s logo.
- --logo <logo_path>¶
Path to a new logo image file.
- --external-id <external_id>¶
New external identifier.
- --division-id <division_id>¶
New division ID.
- --title <title>¶
New team name/title.
- -o, --output <output_path>¶
Write to this file instead of stdout.
- -F, --format <output_format>¶
Output format. Data formats: json, yaml, csv, tsv. Human-readable tabulate formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_raw, latex_booktabs, latex_longtable.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
Environment variables
- GAMESHEET_SEASON_ID
Provide a default for
--season-id
Teams CLI¶
The teams CLI targets the GameSheet teams dashboard. Login is not yet implemented.
gamesheet-teams¶
Unofficial CLI for the GameSheet teams dashboard.
Provides authentication, resource management, and utility commands.
- param ctx:
Click context used to store the resolved
Config.- type ctx:
Context
- param base_url:
Override for the GameSheet base URL, or
Noneto use the default.- type base_url:
str | None
- param no_headless:
When
True, show the browser window during Playwright flows.- type no_headless:
bool
- param verbose:
Logging verbosity level (0 = WARNING, 1 = INFO, 2 = DEBUG).
- type verbose:
int
Usage
gamesheet-teams [OPTIONS] [COMMAND] [ARGS]...
Options
- -V, --version¶
Show the version and exit.
- --base-url <base_url>¶
GameSheet base URL (default: https://teams.gamesheet.app).
- --no-headless¶
Show the browser window when running Playwright flows.
- -v, --verbose¶
Increase logging verbosity (-v = INFO, -vv = DEBUG).
Environment variables
- GAMESHEET_BASE_URL
Provide a default for
--base-url
completion¶
Emit shell completion script for the specified shell.
Source the output to enable tab-completion:
eval "$(gamesheet-teams completion bash)"
- param shell:
Target shell (bash, zsh, or fish).
- type shell:
str
Usage
gamesheet-teams completion [OPTIONS] {bash|zsh|fish}
Arguments
- SHELL¶
Required argument
login¶
Authenticate with the GameSheet teams dashboard and save session tokens.
Sends credentials to Firebase Auth, exchanges the ID token for application tokens via the teams API gateway, and saves the result to disk so subsequent commands can authenticate automatically.
- param ctx:
Click context carrying the
Configinstance.- type ctx:
Context
- param email:
Email address for login, or
Noneto use the environment variable.- type email:
str | None
- param password:
Password for login, or
Noneto prompt interactively.- type password:
str | None
- param timeout:
HTTP request timeout in seconds.
- type timeout:
float
Usage
gamesheet-teams login [OPTIONS]
Options
- -e, --email <email>¶
Email address (or set GAMESHEET_USERNAME).
- -p, --password <password>¶
Password (or set GAMESHEET_PASSWORD). Prompted if omitted.
- -t, --timeout <timeout>¶
HTTP request timeout in seconds.
Environment variables
- GAMESHEET_USERNAME
Provide a default for
--email
- GAMESHEET_PASSWORD
Provide a default for
--password
lookups¶
View public lookup/enumeration data from the teams API.
Usage
gamesheet-teams lookups [OPTIONS] COMMAND [ARGS]...
get¶
Get values for a specific lookup category.
Fetches all lookup data and renders the values for the given category.
- param ctx:
Click context carrying the
Configinstance.- type ctx:
Context
- param category:
Category name to retrieve.
- type category:
str
- param output_format:
Output format (json, yaml, csv, tsv, or tabulate format).
- type output_format:
str
- param output_path:
Optional file path to write output to.
- type output_path:
str | None
Usage
gamesheet-teams lookups get [OPTIONS]
Options
- -c, --category <category>¶
Required Category to retrieve values for.
- -F, --format <output_format>¶
Output format.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -o, --output <output_path>¶
Write to this file instead of stdout.
list¶
List lookup categories or values within a category.
Without --category, shows a summary of all available categories and their value counts. With
--category, shows every value in that category.
- param ctx:
Click context carrying the
Configinstance.- type ctx:
Context
- param category:
Optional category name to filter to.
- type category:
str | None
- param output_format:
Output format (json, yaml, csv, tsv, or tabulate format).
- type output_format:
str
- param output_path:
Optional file path to write output to.
- type output_path:
str | None
Usage
gamesheet-teams lookups list [OPTIONS]
Options
- -c, --category <category>¶
Show values for a specific category only.
- -F, --format <output_format>¶
Output format.
- Default:
'simple'- Options:
json | yaml | csv | tsv | plain | simple | grid | fancy_grid | pipe | orgtbl | rst | mediawiki | html | latex | latex_raw | latex_booktabs | latex_longtable
- -o, --output <output_path>¶
Write to this file instead of stdout.
Usage Examples¶
Both CLIs follow a resource-oriented (noun-first) command structure. Every resource group supports canonical verbs (create, get, list, update, delete)
with short aliases (add/new, show/view, ls, set/edit, rm/remove).
Basic authentication¶
Authenticate with GameSheet and save session tokens:
$ gamesheet-admin login --email user@example.com
Password: [hidden input]
Login successful! Tokens saved.
Listing resources¶
List all associations on your account:
$ gamesheet-admin associations list
ID TITLE CREATED AT
12345 Springfield Youth Hockey 2024-01-15 08:23:45
Use the ls alias for brevity:
$ gamesheet-admin associations ls
List leagues within an association:
$ gamesheet-admin leagues list --association-id 12345
Output formats¶
Change output format using --format:
$ gamesheet-admin associations list --format json
$ gamesheet-admin leagues ls --association-id 12345 --format yaml
$ gamesheet-admin seasons list --league-id 111 --format csv > seasons.csv
Supported formats: json, yaml, csv, tsv, plus thirteen tabulate table formats (see --help for the full list).
Verbose logging¶
Enable info-level logging with -v, debug-level with -vv:
$ gamesheet-admin -v associations list
INFO:gamesheet_sdk.common.session:GET https://gamesheet.app/api/associations
INFO:gamesheet_sdk.common.session:Response: 200 OK
The verbosity flag is a global option and must precede the resource name.
Browser visibility¶
Show the browser window during headless operations (useful for debugging):
$ gamesheet-admin --no-headless login --email user@example.com
Shell completion¶
Generate a completion script for your shell:
$ gamesheet-admin completion bash > ~/.bash_completion.d/gamesheet-admin
$ gamesheet-admin completion zsh > ~/.zsh/completion/_gamesheet-admin
$ gamesheet-admin completion fish > ~/.config/fish/completions/gamesheet-admin.fish
Then source the script in your shell configuration file.
Return Codes¶
Both CLIs follow Unix exit-code conventions:
Code |
Meaning |
|---|---|
0 |
Success. The command completed without errors. |
1 |
General error. Authentication failed, resource not found, network error, or user abort. |
2 |
Usage error. Invalid arguments, missing required options, or unknown command/option. |
Exit codes are resolved by gamesheet_sdk.common.cli.core.resolve_exit() and gamesheet_sdk.common.cli.core.resolve_system_exit() from click
exceptions:
click.exceptions.Exit— mapped to itsexit_codeattribute.click.exceptions.UsageError— always returns 2 (after displaying the error message).click.exceptions.Abort— returns 1 (after printing “Aborted.”).SystemExit— mapped to its code (0 if None, 1 if non-integer, otherwise the code itself).
Environment Variables¶
Both CLIs read configuration from GAMESHEET_-prefixed environment variables via gamesheet_sdk.common.config.Config (implemented with
pydantic-settings). Values are resolved in this precedence order:
Command-line arguments (
--base-url,--email,--password, etc.)Environment variables
Field defaults defined in
Config
Supported variables¶
Variable |
Type |
Default |
Description |
|---|---|---|---|
|
|
|
Root URL of the GameSheet WebUI. |
|
|
|
GameSheet account username/email. |
|
|
|
GameSheet account password (stored as |
|
|
|
Where to persist cookie state between runs. |
|
|
|
Default per-request HTTP timeout in seconds. |
|
|
|
Override the default User-Agent header. |
|
|
|
Whether to verify TLS certificates on outgoing requests. |
|
|
|
Automatic retries on 5xx responses and connection errors. |
|
|
|
Where to persist Playwright storage state between runs. |
|
|
|
Launch the Playwright browser in headless mode. |
Notes:
$XDG_CACHE_HOMEdefaults to~/.cacheon Linux/macOS if the variable is not set. On Windows, the analogous user cache directory is used.GAMESHEET_PASSWORDis stored as apydantic.SecretStrto prevent accidental logging.Boolean environment variables accept
1/true/yes(case-insensitive) for True,0/false/nofor False.The admin CLI defaults
GAMESHEET_BASE_URLtohttps://gamesheet.app; the teams CLI defaults tohttps://teams.gamesheet.app.
Example usage¶
# Authenticate using environment variables instead of prompts
export GAMESHEET_USERNAME="user@example.com"
export GAMESHEET_PASSWORD="secret"
gamesheet-admin login
# Use a custom base URL and increase timeout
export GAMESHEET_BASE_URL="https://custom.gamesheet.app"
export GAMESHEET_TIMEOUT="60.0"
gamesheet-admin associations list
# Disable SSL verification (not recommended for production)
export GAMESHEET_VERIFY_SSL="false"
gamesheet-admin login
Configuration File Support¶
A TOML configuration file source is not yet implemented. Currently, configuration is resolved only from command-line arguments and environment variables.
Future releases may add support for a ~/.config/gamesheet-sdk-py/config.toml file (XDG-compliant path) by overriding settings_customise_sources in
Config. When implemented, the precedence order will be:
Command-line arguments (highest priority)
Environment variables
Configuration file
Field defaults (lowest priority)
For now, use environment variables or CLI flags to configure the SDK. See the Environment Variables section above for details.
See also¶
gamesheet_sdk.admin.cli— Admin CLI module reference.gamesheet_sdk.teams.cli— Teams CLI module reference.API Reference — Complete API reference for all SDK modules.
Using CLI commands — Step-by-step tutorial for using CLI commands.
How-to guides — Task-oriented guides for common workflows.