MatchaMomo
A TUI-based Pomodoro timer built with Textual and managed with uv, featuring two animated ASCII cats: a large orange cat and a small tortie.
Features
- Animated ASCII Cats
- Ready (
IDLE): Both cats stand next to each other with subtle tail wags and blinks. - Focus (
FOCUS): When the timer starts, the cats chase each other back and forth across the stage. - Rest (
REST): When focus ends and rest begins, both cats curl up and nap (zZz). - Long Rest (
LONG_REST): After a configurable number of completed pomodoros, the large orange cat eats a snack while the small tortie plays with a string.
- Ready (
- Configurable Durations (in minutes):
- Focus duration (default:
25min) - Rest duration (default:
5min) - Long rest duration (default:
15min) - Long rest interval (default: every
4completed pomodoros)
- Focus duration (default:
Getting Started
Requires Python >=3.12 and uv.
# Clone and sync dependencies
uv sync
# Run MatchaMomo with default settings
uv run matchamomo
# Or customize durations via CLI flags
uv run matchamomo --focus 25 --rest 5 --long-rest 15 --interval 4
CLI Options
| Flag | Description | Default |
|---|---|---|
-f, --focus |
Focus duration in minutes (1–180) |
25 |
-r, --rest |
Rest duration in minutes (1–180) |
5 |
-l, --long-rest |
Long rest duration in minutes (1–180) |
15 |
-i, --interval |
Completed pomodoros before long rest (1–20) |
4 |
Keybindings
| Key | Action |
|---|---|
Space / s |
Start, pause, or resume timer |
n |
Skip to next phase (e.g., stop focus to rest) |
r |
Reset timer to idle |
c |
Open Timer Settings modal |
+ / - |
Increase / decrease focus minutes by 1 |
] / [ |
Increase / decrease rest minutes by 1 |
q |
Quit |
Development
# Run tests
uv run pytest -v
# Lint and format check
uv run ruff check .
uv run ruff format --check .
# Type check
uv run mypy src tests
Metadata
Release files for matchamomo 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| matchamomo-0.1.0.tar.gz | 44.2 kB | With provenance | Details for matchamomo-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| matchamomo-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for matchamomo-0.1.0-py3-none-any.whl |
Total release size: 58.4 kB
Release files / matchamomo-0.1.0.tar.gz
| Download URL | matchamomo-0.1.0.tar.gz |
|---|---|
| Size | 44.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
baf94af7534664be8dadf4c169689e119a9f9672df8222344b1423407f7e3b25
|
|
BLAKE2b-256 checksum How to use checksums |
87cf2f4329593e6b0cbf95b83efc1c89c940ffbaa523d773f0474db573ced67f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.
Transparency logRelease files / matchamomo-0.1.0-py3-none-any.whl
| Download URL | matchamomo-0.1.0-py3-none-any.whl |
|---|---|
| Size | 14.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
60b0952e44ac39e64f1f21a55a8131a8b3595e28d4b920f408956a94fe0ad494
|
|
BLAKE2b-256 checksum How to use checksums |
f628fe4d1a49d71bd3c6b0ba97e639c558e905a440dad2573e806cbe9e9b4c08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.
Transparency logSecurity for matchamomo 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for matchamomo-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.