reeln-cli plugin that bridges game init to OBS scoreboard text files
Project description
reeln-plugin-streamn-scoreboard
A reeln-cli plugin that bridges game initialization to the streamn-scoreboard OBS plugin.
When reeln game init runs, this plugin writes initial game state to the scoreboard's 22 text output files — setting team names, clock time, scores, shots, faceoffs, fouls, period labels, penalty durations, sport, and clearing penalties. It also clears any stale timestamps.txt from a previous session.
When reeln game finish runs, the plugin copies timestamps.txt (written by OBS during the game) to chapters.txt in the game directory and populates context.shared["game_events"] for downstream plugins (e.g. Google plugin YouTube chapter insertion).
Install
reeln plugin install streamn-scoreboard
Or for development:
git clone https://github.com/StreamnDad/reeln-plugin-streamn-scoreboard
cd reeln-plugin-streamn-scoreboard
make dev-install
Configuration
Add the scoreboard plugin settings to your reeln-cli config:
{
"plugins": {
"settings": {
"streamn-scoreboard": {
"output_directory": "/path/to/scoreboard/output"
}
}
}
}
Options
| Key | Required | Description |
|---|---|---|
output_directory |
Yes | Path to the scoreboard text file output directory |
Output Files
| File | Content at game init |
|---|---|
clock.txt |
Formatted period length (e.g., 20:00) |
period.txt |
1 |
home_name.txt |
Home team name |
away_name.txt |
Away team name |
home_score.txt |
0 |
away_score.txt |
0 |
home_shots.txt |
0 |
away_shots.txt |
0 |
home_faceoffs.txt |
0 |
away_faceoffs.txt |
0 |
home_fouls.txt |
0 |
away_fouls.txt |
0 |
home_fouls2.txt |
0 |
away_fouls2.txt |
0 |
home_penalty_numbers.txt |
(empty) |
home_penalty_times.txt |
(empty) |
away_penalty_numbers.txt |
(empty) |
away_penalty_times.txt |
(empty) |
default_penalty_duration.txt |
Minor penalty seconds (e.g., 120 for hockey) |
default_major_penalty_duration.txt |
Major penalty seconds (e.g., 300 for hockey) |
sport.txt |
Sport name (e.g., hockey) |
period_labels.txt |
Sport-specific labels (e.g., 1\n2\n3\nOT\nOT2\nOT3\nOT4\n for hockey) |
Usage
Once installed and configured, the plugin activates automatically. Run:
reeln game init Eagles Hawks --sport hockey --level bantam
The plugin writes initial scoreboard state to the configured output directory. The OBS scoreboard's 100ms write loop takes over once the game is running.
After the game, run:
reeln game finish
The plugin copies event timestamps from the scoreboard output to chapters.txt in the game directory for downstream use (YouTube chapter descriptions, ffmpeg chapter injection).
Clock Resolution
The clock value is resolved with the following priority:
game_info.period_length— set via--period-lengthCLI flag or interactive prompthome_profile.period_length— from the team profile when--levelis used- Sport-based default — fallback from the table below
Supported Sports
| Sport | Default Clock | Notes |
|---|---|---|
| hockey | 20:00 |
20 min periods, count down |
| basketball | 12:00 |
12 min quarters |
| soccer | 45:00 |
45 min halves |
| football | 30:00 |
30 min halves |
| lacrosse | 12:00 |
12 min quarters |
| rugby | 40:00 |
40 min halves |
| baseball | 0:00 |
No clock |
| generic | 0:00 |
No default duration |
Development
make dev-install # editable install with dev deps
make test # pytest with 100% coverage
make lint # ruff check
make format # ruff format
make check # lint + type check + test
License
AGPL-3.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reeln_plugin_streamn_scoreboard-0.6.0.tar.gz.
File metadata
- Download URL: reeln_plugin_streamn_scoreboard-0.6.0.tar.gz
- Upload date:
- Size: 43.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e71041421037ffca047c63d7614bcadc00d5e29792e39b033fd16c28eeeacdf
|
|
| MD5 |
b892adfcfcad9bf4454648fb1882ec33
|
|
| BLAKE2b-256 |
ebf81934eee27df3dda29f8cafa8daa9fb46a9e251b053864dc991aab5df2e3a
|
Provenance
The following attestation bundles were made for reeln_plugin_streamn_scoreboard-0.6.0.tar.gz:
Publisher:
release.yml on StreamnDad/reeln-plugin-streamn-scoreboard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reeln_plugin_streamn_scoreboard-0.6.0.tar.gz -
Subject digest:
7e71041421037ffca047c63d7614bcadc00d5e29792e39b033fd16c28eeeacdf - Sigstore transparency entry: 1344478949
- Sigstore integration time:
-
Permalink:
StreamnDad/reeln-plugin-streamn-scoreboard@ab6d3cf73fd5c76ecba22346d5fc5bfac27ea79d -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/StreamnDad
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ab6d3cf73fd5c76ecba22346d5fc5bfac27ea79d -
Trigger Event:
push
-
Statement type:
File details
Details for the file reeln_plugin_streamn_scoreboard-0.6.0-py3-none-any.whl.
File metadata
- Download URL: reeln_plugin_streamn_scoreboard-0.6.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45c587908fd9b4c1eb016766f6a126b1cf06d950c22bd5186d9900e7405edccc
|
|
| MD5 |
c7255a45bc8313f1393b1a41f21ae5d3
|
|
| BLAKE2b-256 |
487f395d2bc5e67a4488fd6d07e12a0e1d527c22e5b4aeccf0aeb0a4246f1a46
|
Provenance
The following attestation bundles were made for reeln_plugin_streamn_scoreboard-0.6.0-py3-none-any.whl:
Publisher:
release.yml on StreamnDad/reeln-plugin-streamn-scoreboard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reeln_plugin_streamn_scoreboard-0.6.0-py3-none-any.whl -
Subject digest:
45c587908fd9b4c1eb016766f6a126b1cf06d950c22bd5186d9900e7405edccc - Sigstore transparency entry: 1344479045
- Sigstore integration time:
-
Permalink:
StreamnDad/reeln-plugin-streamn-scoreboard@ab6d3cf73fd5c76ecba22346d5fc5bfac27ea79d -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/StreamnDad
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ab6d3cf73fd5c76ecba22346d5fc5bfac27ea79d -
Trigger Event:
push
-
Statement type: