Terminal-based turn-by-turn navigation with a live Co-Pilot.
A high-performance, cross-platform terminal GPS app featuring real-time tracking, a smart co-pilot, visual signal meters, and theme support.
- 🗣️ Live Co-Pilot - Friendly commentary guiding your journey ("Turn coming up!", "Long stretch ahead").
- 🏃 Movement Detection - Detects if you are moving or stationary with real-time speed (km/h).
- 📶 Signal Meter - Visual bars (
▂▃▅▆▇) showing GPS accuracy/strength. - 🗺️ Radar Map - Live radar with blue route line, red markers, and direction arrows.
- 🧭 Turn-by-Turn - Step-by-step navigation list with auto-advance.
- 🎨 6 Programmer Themes - Matrix, Dracula, Monokai, Nord, Gruvbox, Solarized.
- 🌍 Cross-Platform - Works on macOS (Native GPS), Windows/Linux (IP Geolocation fallback).
Linux & macOS:
# Install & Run
git clone https://github.com/Aditya-Giri-4356/termgps.git
cd termgps
python3 -m venv venv
source venv/bin/activate
pip install -e .
termgpsWindows:
# Install & Run
git clone https://github.com/Aditya-Giri-4356/termgps.git
cd termgps
pip install -e .
python -m src.termgps.appDon't want to navigate to the folder every time? Run these commands once to create a lasting shortcut.
macOS / Linux (Bash/Zsh):
# Add alias to your shell profile
echo "alias termgps='$(pwd)/venv/bin/termgps'" >> ~/.zshrc # or ~/.bashrc
source ~/.zshrcNow you can just type termgps in any new terminal!
Windows (PowerShell):
# Create a permanent function
$path = (Get-Item .).FullName
echo "function termgps { python -m src.termgps.app }" >> $PROFILE
echo "termgps command added!"Restart PowerShell and type termgps to run!
For native GPS support on macOS:
pip install pyobjc-framework-CoreLocation| Key | Action |
|---|---|
r |
Refresh GPS location |
x |
Toggle Live Tracking |
d |
Search destination |
t |
Toggle Theme Mode (Use ⬅/➡ to switch) |
n |
Next turn (Manual override) |
p |
Previous turn |
c |
Clear current route |
q |
Quit application |
| Key | Theme Mode Active |
|---|---|
⬅ |
Previous Theme |
➡ |
Next Theme |
Press t to enter selection mode, then cycle through:
- Matrix (Green/Black)
- Dracula (Pink/Purple)
- Monokai (Yellow/Pink)
- Nord (Ice Blue)
- Gruvbox (Retro Brown)
- Solarized (Cyan/Beige)
termgps/
├── src/
│ └── termgps/
│ ├── __init__.py
│ └── app.py # Main application logic
├── pyproject.toml # Project configuration
├── README.md # Documentation
├── LICENSE # MIT License
└── .gitignore
Contributions are welcome! If you have ideas for new features (like voice support, offline maps, etc.), please open an issue or pull request.
MIT License - see LICENSE
Aditya Giri - @Aditya-Giri-4356
