A flying saucer terminal animation tool (like sl meets cowsay)
Project description
ufosay
A flying saucer terminal animation tool — like sl meets cowsay.
┌──────────────────────────────┐
│ We will conquer the earth!! │
└──────────────────────────────┘
_.---._
.' '.
_.-~===========~-._
(___O___O___O___O___) ← blinking windows
\_______/
·|· ← pulsing tractor beam
·/|\·
·/ | \·
~~~~~~~~~~~~~~~~~~~~~~~~~~ ← fixed terrain
- Flies right to left at 60fps (butter smooth)
- Pauses mid-screen to let you read the message
- Shows a cowsay-style speech bubble
- Blinking windows, pulsing tractor beam, floating motion, stars, terrain
Install
Via pip (recommended)
pip install ufosay
From source
git clone https://github.com/YOUR_USERNAME/ufosay.git
cd ufosay
pip install .
Usage
ufosay # UFO flies by silently
ufosay "Hello from space!" # UFO with speech bubble
echo "hi" | ufosay # Pipe input like cowsay
ufosay --msg "text" # Explicit message flag
ufosay --help # Show usage
Examples
ufosay "We will conquer the earth!!"
________________________________________
/ We will conquer \
| the earth!! |
\ /
----------------------------------------
_.---._
.' '.
_.-~===========~-._
(___________________)
\_______/
Animation details
| Feature | Detail |
|---|---|
| Frame rate | 60 fps |
| Movement | 30 cols/sec (1 col per 2 frames) |
| Direction | Right to left |
| Mid-screen pause | 0.5 seconds per word |
| Vertical float | Frozen during pause for readability |
| Window blink | Alternates every ~0.33s |
| Tractor beam | Pulses every ~0.27s |
| Bubble style | Cowsay-style, word-wrapped at 40 chars |
| Bubble visibility | Only during mid-screen pause |
| Terrain | Fixed ~ row at bottom |
| Clean exit | Ctrl+C restores cursor, no leftover text |
Mistype triggers (optional)
If you frequently mistype ls, run one of the install scripts to set up automatic triggers:
Linux / macOS
./install.sh
This adds aliases to ~/.bashrc or ~/.zshrc:
| Typo | Triggers |
|---|---|
ks |
ufosay "Did you mean ls?" |
cl |
ufosay "Did you mean ls?" |
xl |
ufosay "Did you mean ls?" |
lw |
ufosay "Did you mean ls?" |
lz |
ufosay "Did you mean ls?" |
Windows PowerShell
.\install.ps1
Windows CMD
install.bat
Requirements
- Python 3.8 or later
- Any terminal that supports ANSI escape codes (all modern terminals do)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ufosay-1.0.0.tar.gz
(5.5 kB
view details)
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 ufosay-1.0.0.tar.gz.
File metadata
- Download URL: ufosay-1.0.0.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8b0d11abe577aedaa48646325f475f45201956cd2bc6a952358c6e58d9cd594
|
|
| MD5 |
599ce1cb20c5c5717ca35dfb90088f0e
|
|
| BLAKE2b-256 |
e490e5b57f7ce1270af2765d0a4e2bcfc2ce4d8675f608c512117c08b1248c9a
|
File details
Details for the file ufosay-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ufosay-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87706d26c115bcbf1056594c787d567e7912b350c6399403d936db01d80c84bd
|
|
| MD5 |
13fa7a8e13daec12598f26f73a0f4195
|
|
| BLAKE2b-256 |
266ff7c3a05aa078fe8121e4e7de7147f69e7cfcbd89331ec80f8cdc87b33935
|