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.1.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.1-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tamaterm-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 b00aa2fbe8612cb2f71f1e41902f4420dff082795b3e0964658d6852d4c8d98b
MD5 5e3680c6ced894ba4bf885b443284cea
BLAKE2b-256 55cb12dd33b292dd13234915fe68b537c0e9c729d0ed05e2edf886bd1c345f48

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tamaterm-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 febcac97a755892d2f1627b7047a2a70139f341d5c8985e4b1a21a0c27b63dc3
MD5 1945dcfb5dfa5f976ce3243964a8887d
BLAKE2b-256 99fa0a801abfdc2998ecb74eaa0f81258cfbbc7440f78c7ad5fc0096a3090ab5

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