Skip to main content

Real-time terminal ambient environment engine that synchronizes real-world weather conditions with animated terminal simulations

Project description

SoraCLI ๐ŸŒฆ๏ธ

Python 3.8+ License: MIT

SoraCLI is a terminal weather simulation tool that displays animated ASCII weather (rain, snow, thunderstorms, fog) in your terminal. It can sync with real-world weather data or run in demo mode.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  โ”ƒ   โ”‚   โ”ƒ        โ”‚   โ”ƒ   โ”‚   โ”ƒ        โ”‚   โ”ƒ   โ”‚   โ”ƒ          โ”‚
โ”‚    โ”‚   โ”ƒ        โ”‚   โ”ƒ   โ”‚   โ”ƒ        โ”‚   โ”ƒ   โ”‚   โ”ƒ   โ”‚        โ”‚
โ”‚  โ”ƒ   โ”‚   โ”ƒ   โ”‚   โ”ƒ   โ”‚   โ”ƒ   โ”‚   โ”ƒ   โ”‚   โ”ƒ   โ”‚   โ”ƒ   โ”‚        โ”‚
โ”‚  ยท  ยฐ ยท ยฐ  ยท  ยฐ  ยท ยฐ ยท ยฐ ยท ยฐ  ยท  ยฐ  ยท ยฐ ยท ยฐ                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Installation

Option 1: Install from source

git clone https://github.com/yourusername/SoraCLI.git
cd SoraCLI
pip install .

Option 2: Development mode

git clone https://github.com/yourusername/SoraCLI.git
cd SoraCLI
pip install -e .

Verify installation

soracli --version
soracli --help

Note: If soracli command is not found, use python -m soracli instead, or add ~/.local/bin to your PATH.

Quick Start

Demo Mode (No API key needed!)

# Rain
soracli demo --rain

# Snow
soracli demo --snow

# Thunderstorm with lightning
soracli demo --storm

# Fog/mist
soracli demo --fog

# Clear night sky (twinkling stars)
soracli demo --clear --night

# With custom theme and intensity
soracli demo --rain --theme cyberpunk --intensity 1.5

# Run for specific duration (30 seconds)
soracli demo --rain --duration 30

Press Ctrl+C to exit any animation.

Live Weather Mode (Requires free API key)

  1. Get a free API key from OpenWeatherMap

  2. Set your API key:

    # Linux/macOS
    export OPENWEATHERMAP_API_KEY="your_api_key_here"
    
    # Windows PowerShell
    $env:OPENWEATHERMAP_API_KEY = "your_api_key_here"
    
    # Windows CMD
    set OPENWEATHERMAP_API_KEY=your_api_key_here
    
  3. Start live weather:

    soracli start --location "Tokyo"
    soracli start --location "New York" --theme minimal
    

Daemon Mode (Background Weather Bar)

Run a persistent weather animation bar at the top of your terminal using tmux.

Requirements

# Ubuntu/Debian
sudo apt install tmux

# macOS
brew install tmux

# Arch Linux
sudo pacman -S tmux

Usage

# Start daemon (5-line weather bar at top)
soracli daemon start

# Start with larger panel
soracli daemon start --panel-size 10

# Check status
soracli daemon status

# Attach to see the split view
soracli daemon attach

# Detach: Press Ctrl+B, then D

# Stop daemon
soracli daemon stop

Layout

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ โ”‚โ•ฟ|โ”ƒโ•ฟ||โ”‚โธฝโ•ฝโ•ฟ (rain animation)              โ”‚  โ† 5 lines
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ $ your normal shell                        โ”‚
โ”‚ $ commands work as usual                   โ”‚  โ† Rest of terminal
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

All Commands

Command Description
soracli demo --rain Rain simulation
soracli demo --snow Snow simulation
soracli demo --storm Thunderstorm with lightning
soracli demo --fog Fog/mist effect
soracli demo --clear --night Stars at night
soracli start -l "City" Live weather for location
soracli init Interactive configuration
soracli status Show current config
soracli themes List themes
soracli daemon start Start background mode
soracli daemon stop Stop background mode

Options

Demo Options

soracli demo --rain \
  --theme cyberpunk \     # default, cyberpunk, minimal, nature
  --intensity 1.5 \       # 0.1 to 2.0
  --duration 60           # seconds (0 = infinite)

Daemon Options

soracli daemon start \
  --panel-size 8 \        # Height in lines (default: 5)
  --theme cyberpunk       # Visual theme

Themes

  • default - Classic terminal colors
  • cyberpunk - Neon cyan/magenta
  • minimal - Subtle, clean
  • nature - Earthy greens

Custom Theme

Create ~/.soracli/themes/mytheme.json:

{
  "name": "mytheme",
  "rain_colors": ["cyan", "blue", "white"],
  "snow_colors": ["white", "bright_white"],
  "lightning_color": "bright_yellow"
}

Troubleshooting

"soracli: command not found"

# Use python -m instead
python -m soracli demo --rain

# Or add to PATH
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

"No API key found"

Use demo mode (no key needed) or set the environment variable.

Daemon issues

tmux kill-server        # Kill stuck sessions
soracli daemon start    # Start fresh

Development

pip install -e ".[dev]"
pytest                  # Run tests
pytest --cov=soracli    # With coverage

Requirements

  • Python 3.8+
  • click, requests, pyyaml
  • tmux (daemon mode only)

License

MIT License


Enjoy your ambient terminal weather! ๐ŸŒง๏ธโ„๏ธโšก๐ŸŒซ๏ธโœจ

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

soracli-1.0.0.tar.gz (41.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

soracli-1.0.0-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file soracli-1.0.0.tar.gz.

File metadata

  • Download URL: soracli-1.0.0.tar.gz
  • Upload date:
  • Size: 41.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for soracli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a99df2b00700637cab6859d6e3405e321b180a45bf8f5f445e541f3d33a660a4
MD5 3554484c2aa88fe75918d5df0c022587
BLAKE2b-256 2561fb2a12d5f276ca0e044044fb18212ea9d4168155f1bd03b278df71566e47

See more details on using hashes here.

File details

Details for the file soracli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: soracli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for soracli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c92d9dd550d4fbecde0364aaaa3bfd6abf597b983f3cfe98024f2238899fed67
MD5 268a615bf55d7cfb9f82442a7e406334
BLAKE2b-256 73b78a47f3318d620cb2546a12f87ed068ed0927403cc7c6126ea06c67dfb614

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