Skip to main content

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

Project description

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, 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 / 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

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

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

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.

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_tui-1.0.0.tar.gz (215.8 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.0-py3-none-any.whl (87.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zetamac_tui-1.0.0.tar.gz
  • Upload date:
  • Size: 215.8 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.0.tar.gz
Algorithm Hash digest
SHA256 18f9a688cb510714dae904ec07c8861f013c6bf1964c2a7866e4d9f0e69b4670
MD5 2c409f5f227de002d1139ef9a391795a
BLAKE2b-256 31d944efdd865660a7507e2cf23e6867163d65be91fa65eca37440c6a6396413

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zetamac_tui-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 87.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e7c80ca727ff86f65232d9fcde32a391801c94bd724b5ac3366491ed2a6eb4c8
MD5 596bd39d82903d8bc73dd74aa9b82b8c
BLAKE2b-256 b4cdbbd03bb270abdb9f9f797358e3f213c01879091b6df39b3243247483ffe2

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