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
Metadata
Release files for ufosay 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ufosay-1.0.0.tar.gz | 5.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ufosay-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.9 kB
Release files / ufosay-1.0.0.tar.gz
| Download URL | ufosay-1.0.0.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e8b0d11abe577aedaa48646325f475f45201956cd2bc6a952358c6e58d9cd594
|
|
BLAKE2b-256 checksum How to use checksums |
e490e5b57f7ce1270af2765d0a4e2bcfc2ce4d8675f608c512117c08b1248c9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / ufosay-1.0.0-py3-none-any.whl
| Download URL | ufosay-1.0.0-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
87706d26c115bcbf1056594c787d567e7912b350c6399403d936db01d80c84bd
|
|
BLAKE2b-256 checksum How to use checksums |
266ff7c3a05aa078fe8121e4e7de7147f69e7cfcbd89331ec80f8cdc87b33935
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|