Skip to content

Aditya-Giri-4356/termgps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TermGPS 🧭

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.

Python Platform License


✨ Features

  • 🗣️ 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).

📸 Interface

TermGPS Interface


🚀 Installation

Quick Install

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 .
termgps

Windows:

# Install & Run
git clone https://github.com/Aditya-Giri-4356/termgps.git
cd termgps
pip install -e .
python -m src.termgps.app

⚡ Make it Permanent (Run from Anywhere)

Don'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 ~/.zshrc

Now 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!


Optional: Real GPS (macOS Only)

For native GPS support on macOS:

pip install pyobjc-framework-CoreLocation

🎮 Controls

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

🎨 Themes

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)

🛠️ Project Structure

termgps/
├── src/
│   └── termgps/
│       ├── __init__.py
│       └── app.py          # Main application logic
├── pyproject.toml          # Project configuration
├── README.md               # Documentation
├── LICENSE                 # MIT License
└── .gitignore

🤝 Contributions

Contributions are welcome! If you have ideas for new features (like voice support, offline maps, etc.), please open an issue or pull request.


📄 License

MIT License - see LICENSE


👨‍💻 Author

Aditya Giri - @Aditya-Giri-4356