Skip to main content

zetamac-tui

TUI zetamac clone (identical core interface) plus SQLite tracking, replay, and flash anzan (also mental arithmetic), built with Textual.

Python Textual License

Screenshots

Settings Play View runs

Features

  • All features from arithmetic.zetamac.com with an identical interface and functionality (as shown above), like addition, subtraction, division.

  • Local SQLite run history with per-problem timings (only runs with default setting though)

  • A pretty interface for selecting runs with summaries for each

  • Able to replay any run, or replay all the hardest questions (questions which took the longest time)

  • Per-run analytics to identify weak spots

  • Fully keyboard-driven terminal UI (what Textual does).

  • An additional flash anzan gamemode, although that doesn't have the logging the core does

  • Written in python, so can descend into a python or sqlite shell for directly interacting with the state. For dev, and can be normally used with helper functions defined.

Installation / Quick Start

Requires Python 3.10+.

Install from PyPI (recommended) - pipx

pipx install "zetamac-tui[opt]"

Using pip

pip install "zetamac-tui[opt]"

Install from github

git clone https://github.com/yaofanfish/zetamac-tui.git
cd zetamac-tui
pipx install -e ".[opt]"

Usage

zetamac-tui

The interface is generally straightforward, and as mentioned before, the core is identical to the web zetamac. Configure settings, start a round, review past runs, or replay difficult questions directly from the menu.

Data Storage

  • Settings: ~/.local/state/zetamac-tui/settings.json (%LOCALAPPDATA%\zetamac-tui\settings.json on windows)
  • Run history: ~/.local/share/zetamac-tui/runs.db (%LOCALAPPDATA%\zetamac-tui\runs.db on windows)
  • Python rc file: ~/.config/zetamac-tui/pyrc.py (%APPDATA%\zetamac-tui\pyrc.py on windows)

Contributing

Issues and pull requests are welcome.

git clone https://github.com/yaofanfish/zetamac-tui.git
cd zetamac-tui
pip install -e ".[dev,opt]"

License

GPL-3.0

Acknowledgments

Inspired by Zetamac by Zach Wissner-Gross.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zetamac_tui-1.0.3.tar.gz (940.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zetamac_tui-1.0.3-py3-none-any.whl (88.9 kB view details)

Uploaded Python 3

File details

Details for the file zetamac_tui-1.0.3.tar.gz.

File metadata

  • Download URL: zetamac_tui-1.0.3.tar.gz
  • Upload date:
  • Size: 940.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for zetamac_tui-1.0.3.tar.gz
Algorithm Hash digest
SHA256 613f14b88152e066c5813460a26c8ed5396ed0b1ff5436f6dd6c64953d47c238
MD5 ff2147caa79ab4e2a434216c1bcb53e9
BLAKE2b-256 43f8a91fb00626078244e8272d33d7e0493439d80b45bc7e1a66dd6695f423eb

See more details on using hashes here.

File details

Details for the file zetamac_tui-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: zetamac_tui-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 88.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for zetamac_tui-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9617f58bc83ca017e820734a61f46e0f37a36da7eabe014ec9d683e21c895f32
MD5 2d9f6240ec28b05d296d76846412cded
BLAKE2b-256 32a0a7103a13c57f3122810df15ac273e554600823373c9bed3eac79c4c78b46

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 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