Skip to main content

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)

Source distribution for pongclock 0.1.0
File Size Uploaded
pongclock-0.1.0.tar.gz 7.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pongclock 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

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