Skip to main content

TermTypo

A terminal-first multiplayer typing test with ASCII art aesthetic. Ranked matchmaking, live 1v1 races, private rooms, and a global leaderboard — all in your terminal.

 ████████╗███████╗██████╗ ███╗   ███╗
    ██╔══╝██╔════╝██╔══██╗████╗ ████║
    ██║   █████╗  ██████╔╝██╔████╔██║
    ██║   ██╔══╝  ██╔══██╗██║╚██╔╝██║
    ██║   ███████╗██║  ██║██║ ╚═╝ ██║
    ╚═╝   ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝
 ████████╗██╗   ██╗██████╗  ██████╗
    ██╔══╝╚██╗ ██╔╝██╔══██╗██╔═══██╗
    ██║    ╚████╔╝ ██████╔╝██║   ██║
    ██║     ╚██╔╝  ██╔═══╝ ██║   ██║
    ██║      ██║   ██║     ╚██████╔╝
    ╚═╝      ╚═╝   ╚═╝      ╚═════╝

Install

pip install termtypo
termtypo

Requires Python 3.10+.

Features

  • Solo practice — words (10/25/50/100) and timed (10s/30s/60s) modes
  • Ranked matchmaking — automatic 1v1 matching, ELO ladder (Bronze → Master)
  • Private rooms — share a 6-character code with a friend
  • Live race — real-time progress bars powered by Supabase Realtime
  • Global leaderboard — top players per mode
  • Profile & stats — WPM history, personal bests, rank progress

Controls

Key Action
s Solo practice
r Ranked match (login required)
c Create private room
j Join private room
l Leaderboard
a Profile / Login
q Quit

In solo / race: Tab restart · ← → cycle mode · Esc back · Backspace works across word boundaries

Login

Login is optional. Guest users can use solo practice. Ranked and rooms require a Google account.

On first login, your browser opens for Google OAuth. The app starts a temporary local server on port 54321 to receive the callback — no data is sent anywhere else.

Update

pip install --upgrade termtypo

The app notifies you on startup when a new version is available.

License

MIT

Metadata

Release files for termtypo 0.1.17

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

Source distribution (sdist)

Source distribution for termtypo 0.1.17
File Size Uploaded Provenance Actions
termtypo-0.1.17.tar.gz 30.3 kB With provenance Details for termtypo-0.1.17.tar.gz

Built distribution (wheel)

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

Total release size: 72.7 kB

Release files / termtypo-0.1.17.tar.gz

Download URL termtypo-0.1.17.tar.gz
Size 30.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1924d1f74ffdbb3056bc1265a6f331330ccb5fdf9a13a422afc4b3be9ed0b152
BLAKE2b-256 checksum
How to use checksums
ce5e2501f2baeab243821c97f640312a36dfd22c1d882e42ba34e6cfb28dcaa6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / termtypo-0.1.17-py3-none-any.whl

Download URL termtypo-0.1.17-py3-none-any.whl
Size 42.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67b08ecbf0f22824bdb1b2b648e027d2dee7bcbfcf06bb355fbbc42b19c781ed
BLAKE2b-256 checksum
How to use checksums
7c4daa9f1f5d49c835d7f4ba3ec318294587e045e462617929cbba265cbb8159
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Security for termtypo 0.1.17

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for termtypo-0.1.17.tar.gz

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 Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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