zetamac-py

A terminal clone of Zetamac, the timed mental-math arithmetic trainer, built with Textual.

Python Textual License

Screenshots

Settings Play

Overview

zetamac-py provides the core Zetamac gameplay loop in a terminal user interface, with local run history and replay functionality:

Features

Installation

Requires Python 3.10+.

git clone https://github.com/yaofanfish/zetamac-py.git
cd zetamac-py
pip install -e .

Or install directly with pip:

pip install zetamac-py

(Once published to PyPI — see Roadmap.)

Usage

Launch the app:

zetamac-py

From the main menu:

Item Description
Settings Enable/disable operations, set number ranges, set round duration
Play Start a timed round
Replay Browse recent runs and replay one problem-by-problem
Replay Hardest Replay the highest-scoring run
View Runs Browse run history and inspect raw run data
Quit Exit the app

During a round, type an answer and press Enter; correct answers advance to the next problem automatically. Press q or Esc at any time to end the round early.

Configuration

Settings are stored at ~/.config/zetamac-py/settings.json and can be edited through the in-app Settings screen or by hand. Run history is stored in a SQLite database at ~/.local/share/zetamac-py/runs.db.

Roadmap

Contributions toward any of the above, or other proposals, are welcome — see below.

Contributing

Issues and pull requests are welcome.

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

License

GPL-v3

Acknowledgments