Skip to main content

Faceoff

Faceoff Logo

A terminal user interface (TUI) application for following NHL hockey games in real-time.

Python License

Features

  • Live Game Schedule: Browse NHL games by date with easy navigation (previous/next day)
  • Real-time Updates: Auto-refreshing scores for live games
  • Game Details: View play-by-play, box scores, and scoring summaries for in-progress and completed games
  • Pre-Game Preview: View matchup data including goalie comparison and skater leaders for upcoming games
  • League Standings: View current NHL standings with multiple views (Wild Card, Division, Conference, League)
  • Player Stats Leaders: View top players in various statistical categories for skaters and goalies
  • Team Browser: Browse all NHL teams, view rosters, and team schedules
  • Player Profiles: View detailed player information, career stats, and game logs
  • Responsive Layout: Game cards automatically arrange based on terminal width
  • Local Time Display: Game times shown in your local timezone with timezone abbreviation

Installation

Using uvx (recommended)

uvx faceoff

Using pip

pip install faceoff

Then run:

faceoff

From source

git clone https://github.com/vgreg/faceoff.git
cd faceoff
uv run faceoff

Screenshots

Game detail view (shown with different terminal color schemes):

Game detail view

Game detail view, dark theme

Game detail view, warm theme

League standings:

League standings

Acknowledgments

This project was inspired by Playball, a similar terminal application for following MLB baseball games.

Built With

  • Textual - The modern TUI framework for Python that powers the user interface
  • nhl-stats-api-client - Python client for accessing NHL API data

Disclaimer

This project is not affiliated with, endorsed by, or in any way officially connected with the National Hockey League (NHL), any of its teams, or any of its affiliates. All NHL logos, trademarks, and data are the property of the NHL and its teams.

This application uses publicly available NHL API data for informational and educational purposes only.

Development

Setup

git clone https://github.com/vgreg/faceoff.git
cd faceoff
make install

Running Tests

uv run pytest

Linting

uv run ruff check src/

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Release files for faceoff 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for faceoff 0.3.2
File Size Uploaded
faceoff-0.3.2.tar.gz 393.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for faceoff 0.3.2
File Interpreter ABI Platform
faceoff-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 431.9 kB

Release files / faceoff-0.3.2.tar.gz

Download URL faceoff-0.3.2.tar.gz
Size 393.5 kB
Tags Source
SHA-256 checksum
How to use checksums
809448f3eca4dae8cf496950298a7486932f706461b6a5fc6b750a157f8dd270
BLAKE2b-256 checksum
How to use checksums
38a2afef3c4d89c80486865cadaccd92e5668d7125d30c5f6f877f38d134acd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 19, 2026.

Transparency log

Release files / faceoff-0.3.2-py3-none-any.whl

Download URL faceoff-0.3.2-py3-none-any.whl
Size 38.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
296e196e931e929d33e55c6054ac9596564c3dc14bacd11ab3c36eff5288c942
BLAKE2b-256 checksum
How to use checksums
d033f45091550a5e9c1f2bbad527016bccd93097371bfbf4577c33abe502fb77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.2 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page