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.2.tar.gz (210.3 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.2-py3-none-any.whl (81.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zetamac_py-0.1.2.tar.gz
  • Upload date:
  • Size: 210.3 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.2.tar.gz
Algorithm Hash digest
SHA256 0d48620b5eaa364168f01a80f2408cb60c821d50be9767b0c841922e94c22fbe
MD5 4039f4d456ba2d7e7c9acfd908187c78
BLAKE2b-256 476001b12ff60050a3b17e74541b0312184cbabbe425e4533306d67000627dc1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zetamac_py-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 81.6 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 553ed5701d2da7fd79c5395600cb927c870a1ea31e712caca8ef85b078510bb0
MD5 42b809cccce93b4944442785d4b42183
BLAKE2b-256 5257014c1e512111f867e83e895f23c871fef2fa646d1c54795a38de350642f9

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