Project Awesome project awesome

General > adsb_actions

Python tool to detect, act on, and visualize ADS-B traffic and events.

Package 3 stars GitHub

adsb-actions: Turn aircraft tracking data into automated actions.

This module allows you to apply conditions and actions to JSON flight data coming from readsb, API provider, or saved historical data. The conditions and actions are specified in a simple human-readable YAML format.

These actions can then:

Drive a UI:
    Screenshot of Stripview

⭒ Analyze traffic at your local airport in real-time / detect loss-of-separation events / track operations
    Screenshot of LOS

⭒ Visualize events and find hotspots:
    Screenshot of hotspots

⭒ Do offline analysis, for example to generate operational counts and statistics:
    Screenshot of landings

⭒ Trigger Slack alerts based on arbitrary conditions

⭒ Push operations (takeoffs/landings/etc) to a database

⭒ Whatever else you can imagine! Check the gallery for more ideas.

Overview

Each YAML rule contains ✅ conditions and ⚡ actions.

Conditions are an ANDed set, and can include altitude ranges, location within a region specified in a KML file, movement between regions, proximity to other aircraft, and more.

Actions include logging, Slack, paging / JSON webhook, shell execution, and python callback. See RULE_SCHEMA.yaml for more info.

Example rules:

This will trigger a callback and send a slack message when an aircraft is seen below 2000 feet in a certain geograpic area:

  rules:
    low_alt:
      conditions:
        max_alt: 2000
        latlongring: [10, 40.763537, -119.2122323]
      actions:
        callback: print_aircraft_data   # call this when matched
        webhook: ['slack', 'emergency_aircraft_channel']

Ready to try it?

See GETTING_STARTED.md for a step-by-step setup guide.
Back to ADS-B