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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd85075795f29b85d77f94e44d3a3d4698e6539dc1a5780753bd60824f7a0926
|
|
| MD5 |
86c61c15dd707168e68601a3dcc220cd
|
|
| BLAKE2b-256 |
552aaba64bf7aeef1c7f23af33fdc90707eb4ba00bae3c11b75379aded4e6d95
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
471eb69a1be18199bebc302af2d6487625605730d3ad8531e64767574ce60d13
|
|
| MD5 |
e64ff0f6558f9dd9bbdf3ceca6e3bfe6
|
|
| BLAKE2b-256 |
c573b126c09433dc2adfb3b6226c5f4b8959b176e649d7119e1fda03365f0703
|