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/Flyby33README
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.
<br>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.
🌟 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
⚙️ Installation
🛠️ Installation Steps
-
🐍 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
-
⬇️ 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 -
📦 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.txtOn some systems, you might need to use
pip3instead ofpipif 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.
🔧 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)
<br>
- For Terminal Script: Configuration in
config.iniis mandatory before running.- For Streamlit Interface: Settings can be adjusted in the web interface.
🚀 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 truebecause we don't want it to automatically open thelocalhost Local URLin a new browser tab. This argument also enablesExternal URLwhich 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:
- Copy
.batfiles to main project directory - Double-click to run
macOS
-
Copy
.commandfiles to main project directory -
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
cdcommand to change to the project directory
-
Make Scripts Executable (Grant Permission)
Run the command:
# Give full permissions to the folder
chmod -R 755 Flyby33
- Now you should always be able to double-click the
.commandscript files.
🖥️ 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)



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

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

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)

