Skip to main content

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

Project description

zetamac-py

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, otherwise everything gets jumbled and you can't track data effectively)

  • 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

Requires Python 3.10+.

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

(or use pip, if you have all your venvs set up correctly)

Usage

zetamac-py

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

( On windows, replace ~ with %USERPROFILE%\AppData\Local\zetamac-py, so settings would be C:\Users\DemoUser\AppData\Local\zetamac-py.local\state\zetamac-py\settings.json It is linux first, so the paths are a bit awkward. )

  • Settings: ~/.local/state/zetamac-py/settings.json
  • Run history: ~/.local/share/zetamac-py/runs.db
  • Python rc file: ~/.config/zetamac-py/pyrc.py

Contributing

Issues and pull requests are welcome.

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

License

GPL-3.0

Acknowledgments

Inspired by Zetamac by Zach Wissner-Gross.

Project details


Download files

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

Source Distribution

zetamac_py-0.1.1.tar.gz (210.1 kB view details)

Uploaded Source

Built Distribution

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

zetamac_py-0.1.1-py3-none-any.whl (81.4 kB view details)

Uploaded Python 3

File details

Details for the file zetamac_py-0.1.1.tar.gz.

File metadata

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

File hashes

Hashes for zetamac_py-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5d48481835dbbe7aaa19fe8896707d7b4d7171627ab3350a7cfa166d5f2750f8
MD5 6978fb3f46d293e8728d0d19bf960e8a
BLAKE2b-256 e48887016837f3ca9b90bef21beb690a02102b60ad3926fd8e9c8ebfe7435a97

See more details on using hashes here.

File details

Details for the file zetamac_py-0.1.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for zetamac_py-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c9f900f5d69373efbaadb8485bef874220e5a2f8d1bcaeda7fa109a2ccdb2465
MD5 0ebbacd57db17df3b307134cb2355f7c
BLAKE2b-256 0b7cb94885a61493fcf13c2daf8a8dc96a651f7bcc47eb72217a25d5d71ac5b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page