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.
Screenshots
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d48481835dbbe7aaa19fe8896707d7b4d7171627ab3350a7cfa166d5f2750f8
|
|
| MD5 |
6978fb3f46d293e8728d0d19bf960e8a
|
|
| BLAKE2b-256 |
e48887016837f3ca9b90bef21beb690a02102b60ad3926fd8e9c8ebfe7435a97
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9f900f5d69373efbaadb8485bef874220e5a2f8d1bcaeda7fa109a2ccdb2465
|
|
| MD5 |
0ebbacd57db17df3b307134cb2355f7c
|
|
| BLAKE2b-256 |
0b7cb94885a61493fcf13c2daf8a8dc96a651f7bcc47eb72217a25d5d71ac5b8
|