SkillAgentSearch skills...

Flyby33

Real-time aircraft flyby prediction tool with interactive Streamlit web interface. Shows which planes will pass near your location with arrival times and approach info. Features interactive maps and sortable data tables. Perfect for aviation and plane spotting enthusiasts! ✈️

Install / Use

/learn @hodel33/Flyby33

README

Flyby33 ✈️

📋 Overview

Flyby33 is a flyby prediction tool that monitors aircraft in real-time, showing which are likely to pass a location of your choosing while estimating their arrival time, approach direction and providing detailed flight information. Perfect for aviation enthusiasts, planespotters or anyone curious about the aircraft flying overhead.

The application fetches data from Flightradar24, processes it to determine which flights will pass near the chosen location, and presents this information through either an interactive Streamlit web interface or as exportable Folium HTML maps and CSV files for offline viewing by running the terminal script.

Important Usage Note: This tool is intended ONLY for private and educational purposes. It must NOT be used commercially or for any profit-generating activities. Users agree to use the application strictly for personal learning and aviation enthusiast interests, in compliance with Flightradar24's terms of service.<br> If you are interested in accessing Flightradar24 data commercially, please go to the offical Flightradar24 API page.

<br>

🌟 Features

  • Flyby Predictions: Estimate the probability of aircraft flying near your specified location based on heading, speed and distance analysis

  • Arrival Time and Approach Information: Calculate the arrival time for when aircraft will reach their closest point to your location, the expected distance at closest approach, and from which direction they will approach, based on predictions that assume consistent heading and speed

  • Comprehensive Flight Details: Access detailed information including callsign, tail number, aircraft type, airline, origin, destination, altitude, speed, heading and distance from location

  • Interactive Map: View all flights in your area with color-coded aircraft icons (darker blue for low-altitude flights under 3000 meters, lighter blue for higher altitudes), projected flight paths shown as dotted orange bearing lines with transparency indicating flyby probability and historical trail lines showing recent flight paths

  • Flight List: Access a detailed interactive table of all aircraft in the region with sortable data

  • Flyby Schedule: View a specialized schedule page showing only aircraft with predicted flybys, organized by estimated arrival time

  • Auto-Refresh: Set automatic data refresh intervals to keep information current

  • Custom Location: Configure any location coordinates and monitoring radius anywhere in the world

  • External Links: Direct links to Flightradar24 for additional flight information and Skybrary for aircraft specifications

  • Web Interface Option: Access all features through a user-friendly Streamlit web interface with organized pages and interactive components

  • Terminal Mode: Run the script directly to generate an interactive Folium map HTML file and CSV data export for offline viewing

  • SQLite Database: Store and retrieve flight data automatically through an SQLite database, enabling persistence across sessions and efficient access to historical flight information

<br>

⚙️ Installation

🛠️ Installation Steps

  1. 🐍 Install Python

    • Download and install Python 3.11 or higher from Python's official website
    • Tip: During installation, make sure to check "Add Python to PATH"
    • Verify installation by opening a terminal and running:
      python --version
      
  2. ⬇️ Download Project Files (Repository)

    You have two primary methods to obtain this project:

    A. Direct ZIP Download:

    • Visit the GitHub repository: https://github.com/hodel33/flyby33
    • Click the green "Code" button and select "Download ZIP"
    • Extract the downloaded ZIP file to your desired location

    B. Git Clone (recommended for developers):

    • Open a terminal
    • Run the following command:
    git clone https://github.com/hodel33/flyby33.git
    
  3. 📦 Install Project Dependencies (Python packages used in this project)

    The required Python packages for this project to work properly are listed in requirements.txt. You can install them automatically by opening a terminal and running the command:

    pip install -r requirements.txt
    

    On some systems, you might need to use pip3 instead of pip if you have multiple Python versions installed (to specifically target Python 3)

ℹ️ Additional Requirements

  • 🌎 Internet: Internet connection for accessing Flightradar24 real-time data and a Web Browser if you're going to use the Streamlit web interface.

  • 🖋️ IDE (Optional): For code editing, VS Code is recommended. As well as adding the Python extension for VS Code.

<br>

🔧 Configuration

The application's behavior is controlled by the config.ini file.<br>Below is a sample configuration:

[Settings]
location_coords = 21.33, -157.98    # Coordinates (Lat, Lng) - Example: Hawaii coordinates
location_radius = 100               # Radius in kilometers (50, 100, 150, 200)
auto_refresh_interval = 30          # Refresh interval in seconds (0: Off, 15, 30, 60)
ignore_airport_proximity = False    # Set to True to include flights landing at nearby airports
debug_mode = False                  # Enable for detailed logging (terminal version)
  • For Terminal Script: Configuration in config.ini is mandatory before running.
  • For Streamlit Interface: Settings can be adjusted in the web interface.
<br>

🚀 Running the Application

You can run Flyby33 in two ways: through the Streamlit web interface or directly in the terminal.

Option 1: Streamlit Web Interface

# Run Streamlit
streamlit run streamlit_app.py --server.headless true

Use the Network URL or External URL. Avoid using the Local URL, as it can trigger HTTP Error 451 restrictions from Flightradar, potentially disrupting the application's link functionality.

We are using the extra argument --server.headless true because we don't want it to automatically open the localhost Local URL in a new browser tab. This argument also enables External URL which is essential if we want to use the Streamlit app on other devices.

Option 2: Terminal Version

# Run Terminal Version
python main.py

Platform-Specific Notes:

Windows Users:

Use convenient scripts in startup_scripts folder which you can double-click to run:

  1. Copy .bat files to main project directory
  2. Double-click to run

macOS

  1. Copy .command files to main project directory

  2. Open Terminal and Navigate to the Parent Folder Containing the Project

/parent_folder
└── Flyby33
    ├── main.py
    ├── streamlit_app.py
    └── ... (other project files)
  • Use any of the methods:
    • Control-click the folder in the path bar to open a new Terminal window
    • Drag the folder into the terminal
    • Use cd command to change to the project directory
  1. Make Scripts Executable (Grant Permission)

    Run the command:

# Give full permissions to the folder
chmod -R 755 Flyby33
  1. Now you should always be able to double-click the .command script files.
<br>

🖥️ Streamlit Web Interface

The Streamlit interface offers a user-friendly way to interact with Flyby33. It consists of four main pages:

Map Page

  • Interactive Map: Shows all flights in your monitoring radius
  • Flight Details: Click on any aircraft to see detailed information
  • Visual Indicators:
    • Color-coded aircraft icons pointing in the direction of their current heading (darker blue for low-altitude flights under 3000 meters, lighter blue for higher altitudes)
    • Dotted orange lines indicate projected flight paths with transparency reflecting flyby probability
    • Historical trail lines showing recent positions with gradient opacity (newer positions more visible than older ones)
    • Orange circles represent your chosen location and the flyby radius (10 km)
<br>

Screenshot 1

Screenshot 2

Screenshot 3

<br>

Flight List Page

  • View all flights in your area sorted by distance from origin location (you can change the sorting to your preference)
  • See comprehensive details including callsign, tail number, aircraft type, airline, origin, destination, altitude, speed, heading and distance from location
  • Clickable links to Flightradar24 for additional flight information, Skybrary for aircraft specifications and locations on Google Maps (closest known city)
  • Sort and filter the table to quickly find specific flights or information
<br>

Screenshot 4

<br>

Flight Schedule Page

  • Shows upcoming flights sorted by ETA (you can change the sorting to your preference)
  • Includes flyby probability in %, estimated time of arrival, distance at closest approach and direction information (both compass point like N/NE/SW and precise bearing in degrees)
  • Helps you anticipate which aircraft will be passing by soon
  • Sort and filter the table to quickly find specific flights or information
<br>

Screenshot 5

<br>

Settings Page

  • Set your location coordinates manually in (Lat, Lng) format (simply copy-paste coordinates from Google Maps)
  • Adjust monitoring radius (50, 100, 150, 200 km)
  • Configure auto-refresh interval (0: Off, 15, 30, 60 seconds)
  • Toggle airport proximity filtering (Calculate flyby info even for planes likely landing at nearby airports)
<br>

Screenshot 6

View on GitHub
GitHub Stars12
CategoryDevelopment
Updated1mo ago
Forks0

Languages

Python

Security Score

80/100

Audited on Mar 3, 2026

No findings