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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tamaterm-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 dd85075795f29b85d77f94e44d3a3d4698e6539dc1a5780753bd60824f7a0926
MD5 86c61c15dd707168e68601a3dcc220cd
BLAKE2b-256 552aaba64bf7aeef1c7f23af33fdc90707eb4ba00bae3c11b75379aded4e6d95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tamaterm-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 471eb69a1be18199bebc302af2d6487625605730d3ad8531e64767574ce60d13
MD5 e64ff0f6558f9dd9bbdf3ceca6e3bfe6
BLAKE2b-256 c573b126c09433dc2adfb3b6226c5f4b8959b176e649d7119e1fda03365f0703

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