Skip to main content

tamaterm

A virtual pet that lives in your terminal.

┌────────────────────────┐
│ ★ Whiskers [adult]     │
│    /\_____/\           │
│   /  *   *  \          │
│  ( ==  w  == )         │
│   )    ♪    (          │
│  (           )         │
│  hunger  [████████████░░]  85.0 │
│  happy   [██████████████]  92.0 │
│  energy  [████████░░░░░░]  55.0 │
│  clean   [██████████░░░░]  70.0 │
└────────────────────────┘

What is this?

tamaterm is a Tamagotchi-style virtual pet that lives in your terminal prompt. It reacts to your developer workflow -- git commits make it happy, CPU spikes stress it out, and it grows through life stages the longer you care for it.

It's not a TUI app. It lives in your prompt, above every command you type.

Install

pip install tamaterm

Quick Start

# Create your pet
tamaterm init Whiskers --type cat

# Install the shell hook (adds pet above your prompt)
tamaterm install

# Restart your terminal, then care for your pet
tamaterm feed
tamaterm play
tamaterm clean

How it works

Background daemon (tamaterm daemon)
├── Monitors: git status, CPU, memory, time
├── Updates: ~/.tamaterm/pet.json (state)
└── Writes: ~/.tamaterm/status.txt (display)

Shell hook (in your .bashrc/.zshrc/profile)
└── cat ~/.tamaterm/status.txt before prompt

CLI (tamaterm feed/play/clean/sleep)
└── Modifies pet.json, daemon picks up changes

Features

  • Growth system: Egg -> Baby -> Teen -> Adult (care-dependent)
  • Reactive: Happy when you commit code, stressed during CPU spikes
  • Stat decay: Hunger, happiness, energy, hygiene decay over time
  • Night mode: Pet sleeps automatically at night
  • Multi-shell: Bash, Zsh, PowerShell, Fish
  • Cross-platform: Linux, macOS, Windows
  • Lightweight: 2 dependencies (click, psutil), ~50KB installed

Pet Types

Pet ASCII Personality
Cat /\_/\ (o.o) Independent, clean
Dog /\ /\ (o.o) Loyal, energetic
Slime (oo) Easy to care for

Commands

Command Effect
tamaterm init Create a new pet
tamaterm feed Feed your pet
tamaterm play Play with your pet
tamaterm clean Clean your pet
tamaterm sleep Put pet to bed
tamaterm status Show detailed stats
tamaterm doctor Diagnose issues
tamaterm install Install shell hook
tamaterm uninstall Remove shell hook
tamaterm start Start daemon
tamaterm stop Stop daemon
tamaterm revive Revive a dead pet

How the pet reacts

Event Pet reaction
Git commit Happiness +8
New branch Happiness +5
CPU > 80% Energy -5, Happiness -3
Memory > 90% Energy -3, Happiness -2
Night (0-6am) Auto-sleeps

Development

# Clone and install in dev mode
git clone https://github.com/violet2314275/tamaterm.git
cd tamaterm
pip install -e ".[dev]"

# Run tests
python -m pytest tests/ -v

# Lint
ruff check src/ tests/

# Build package
python -m build

Contributing

Add a new pet! Create a file in src/tamaterm/art/ with ASCII art for each stage and mood. See art/cat.py for the pattern.

Each pet needs art for these moods at each stage (egg, baby, teen, adult): NORMAL, HAPPY, HUNGRY, SAD, SLEEPING, DEAD.

License

MIT

Metadata

Release files for tamaterm 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tamaterm 0.1.5
File Size Uploaded
tamaterm-0.1.5.tar.gz 18.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tamaterm 0.1.5
File Interpreter ABI Platform
tamaterm-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 35.8 kB

Release files / tamaterm-0.1.5.tar.gz

Download URL tamaterm-0.1.5.tar.gz
Size 18.2 kB
Tags Source
SHA-256 checksum
How to use checksums
489d4bfef80b9db084a4b3df8a63dc5155166995110f3b6a526ed335b67466ec
BLAKE2b-256 checksum
How to use checksums
c398fa088c37ca0fa0b88e34c108bc37a4430809a1e82fa92d3be7ee79975099
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / tamaterm-0.1.5-py3-none-any.whl

Download URL tamaterm-0.1.5-py3-none-any.whl
Size 17.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f9e7dedd6f05c3182f1182c70d97fe86f45e53aa69c953e5239619ad3d44a2be
BLAKE2b-256 checksum
How to use checksums
eb49a8d82f8fa8ffaf9c6c7cbfcd153bb226a06892af91dcdb1d37a19519adf6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page