Pong Clock
A terminal clock played as an endless game of Pong, built with Textual.
The left paddle plays for the hours, the right paddle plays for the minutes, and the scoreboard is the current time. Both paddles play perfect defense — until the clock is about to tick. When a minute passes, the hours player deliberately misses so the minutes side scores. When the hour rolls over, the minutes player misses, the hours side scores, and the minutes score resets to 00. The ball's speed is quietly adjusted mid-rally so it crosses the goal line right on the minute boundary.
Rendering uses half-block characters (▀) for double vertical resolution,
redrawn at 60 fps with a tiny framebuffer, so the animation stays fluid.
Install
Install Pong Clock with pipx:
pipx install pongclock
Then run:
pongclock
| Key | Action |
|---|---|
q |
Quit |
space |
Pause |
Develop from source
python3 -m venv .venv
.venv/bin/pip install -e .
.venv/bin/pongclock
Test
.venv/bin/python smoke_test.py
Runs the app headless, verifies the ball animates, forces a scoring event, and checks the pause toggle.
Release files for pongclock 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pongclock-0.1.0.tar.gz | 7.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pongclock-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.8 kB
Release files / pongclock-0.1.0.tar.gz
| Download URL | pongclock-0.1.0.tar.gz |
|---|---|
| Size | 7.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5baf59c486e17c3508d8361cd2e0c2e757763d38b88146c8d18fde9c414f9e61
|
|
BLAKE2b-256 checksum How to use checksums |
8da629d5bceb4fe0ab394e68e0883b30374a55126d2517885439ce9e64131f54
|
| 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 Jun 12, 2026.
Transparency logRelease files / pongclock-0.1.0-py3-none-any.whl
| Download URL | pongclock-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cb0d73406c02c56b90236c4147111873ad896d304972c58d530e59caa6c418f6
|
|
BLAKE2b-256 checksum How to use checksums |
cb30f4f1ff3a1da1deaba0aa65dc2c0e9523abef8bc432ecd8da03674b78b7fd
|
| 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 Jun 12, 2026.
Transparency log