Skip to main content

See what's flying above you - live aircraft radar for your terminal

Project description

TermRadar

TermRadar live radar over Andheri, Mumbai

See what's flying above you - without leaving your terminal.

TermRadar live demo

TermRadar is a lightweight live aircraft radar for developers, programmers, and aviation enthusiasts.

You're coding, you hear an aircraft overhead, or spot something from the window. Instead of opening a browser or reaching for a flight-tracking app, open a terminal and run:

termradar

You get a live radar centered on your location: nearby callsigns, distance, bearing, speed, altitude, and route info when available. Use it for the quick answer, then jump to another tracker when you want deeper details.

One radar engine. Multiple displays.

The core is display-agnostic. Today: a polished terminal UI. Planned: Raspberry Pi fullscreen and small displays.

Quick start

pip install termradar
termradar

From source:

git clone https://github.com/rusty3699/termradar.git
cd termradar
python3 -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e .
termradar

First run: enter a location, pick a geocoding result, set radius and refresh. Later runs reuse saved settings. Press Ctrl+C to exit.

Config: ~/.config/termradar/config.toml on Linux (platformdirs on macOS and Windows — see ARCHITECTURE.md).

What you get

Available now Planned
Live terminal radar (default 5 s refresh) Raspberry Pi fullscreen display
Numbered radar markers + top-five nearby list OLED / e-paper displays
Closest-aircraft detail panel Local ADS-B receivers
adsb.lol live aircraft (default) Alerts and notifications
ADSBDB route/airline enrichment Web UI
Nominatim geocoding, local timezone
OpenSky via --aircraft-provider opensky

Requirements: Python 3.11+, network access. Works on Linux, macOS, Windows, and Raspberry Pi.

Usage

Install and first-run setup

termradar --location "Andheri, Mumbai"  # temporary location (this run only)
termradar --radius 25                   # search radius in km
termradar --refresh 10                  # refresh interval (min 5 s)
termradar --aircraft-provider opensky   # OpenSky instead of adsb.lol
termradar --enrichment-limit 10         # max aircraft to enrich per scan
termradar --reset-location              # re-run setup
termradar --version
termradar --help
Setting Default Allowed
Refresh 5 s 5-300 s
Radius 15 km 1-250 km
Aircraft source adsb.lol adsblol or opensky
Enrichment 10 nearest --enrichment-limit

Provider details and internal limits: docs/DATA_PROVIDERS.md

How it works

each refresh (every 5 s by default):
  1. Fetch aircraft near you          → adsb.lol
  2. Distance and bearing from you
  3. Enrich nearest (cache miss only) → ADSBDB
  4. Draw radar + aircraft panels

setup only (not each refresh):
  Geocoding → Nominatim

Data sources: adsb.lol (aircraft), ADSBDB (routes/airlines), Nominatim (geocoding)

Documentation

Doc What it covers
CHANGELOG.md Release history
ARCHITECTURE.md Design, UI layout, code boundaries
DATA_PROVIDERS.md APIs, internal limits, caching
ROADMAP.md What's next
DEVELOPMENT.md Tests, lint, packaging

License

MIT - see LICENSE.


Made with <3 Anish

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

termradar-0.3.2.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

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

termradar-0.3.2-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

Details for the file termradar-0.3.2.tar.gz.

File metadata

  • Download URL: termradar-0.3.2.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for termradar-0.3.2.tar.gz
Algorithm Hash digest
SHA256 f743e7656cc96a72db38b4fc91820e24561e663f661a709712fad5d20ccaf13e
MD5 e77fae28a3e546b523f1dac8a09de517
BLAKE2b-256 d203d1e98fee17a02e3e05d14b47b6000b72855ddba31602707a2b35ad11b119

See more details on using hashes here.

File details

Details for the file termradar-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: termradar-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 35.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for termradar-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6c1465f5d72a1a9959d8d75e8cd854290a2c81f62635ef30173f7387aa9214da
MD5 bc0097c5e9b7ff9306c69fe779b914fb
BLAKE2b-256 1556841bda787388fcf849f75ba0f57ee2b641f35d6be457f05c8c5afdbe4d0c

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