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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tamaterm-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 2992b54eb8a5283fa76ff8bcc927556fb66008d53fb614ca51a1b9299a325455
MD5 ac6aeea3cff9918da66feefe8642bc1d
BLAKE2b-256 0d229950c9ae88653e68f8862c51c438e8e06de02dcda095ada024da96358d7e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tamaterm-0.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d9b07daf04fcd1e981ce780b29d312c08d1290d96ca134f41b591ddab6d85c07
MD5 13b8b17611a293b18eab970775df5e2e
BLAKE2b-256 ab8c0f4f12e586f9e4b777df141b10a2550d49289a326709dd00ee29e233d2bd

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