Skip to main content

A virtual pet that lives in your terminal

Project description

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

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

tamaterm-0.1.5.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tamaterm-0.1.5-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file tamaterm-0.1.5.tar.gz.

File metadata

  • Download URL: tamaterm-0.1.5.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for tamaterm-0.1.5.tar.gz
Algorithm Hash digest
SHA256 489d4bfef80b9db084a4b3df8a63dc5155166995110f3b6a526ed335b67466ec
MD5 8c2e73c02c37c73ac3bb6e7e0b9499db
BLAKE2b-256 c398fa088c37ca0fa0b88e34c108bc37a4430809a1e82fa92d3be7ee79975099

See more details on using hashes here.

File details

Details for the file tamaterm-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: tamaterm-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for tamaterm-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f9e7dedd6f05c3182f1182c70d97fe86f45e53aa69c953e5239619ad3d44a2be
MD5 eb476dfc2bf932eb50e46f0198763f93
BLAKE2b-256 eb49a8d82f8fa8ffaf9c6c7cbfcd153bb226a06892af91dcdb1d37a19519adf6

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