A single-source tracker with a narrow job, done in one exchange: point at a place or a tail number and get back what is there right now, in readable lines. The thing to check before you build on it is the airplanes.live terms rather than the MIT licence on the code — the data is what carries the non-commercial restriction.
A small Python server over the airplanes.live feed, answering where aircraft are right now. Results come back formatted for reading — callsign, registration, type, position, altitude, ground speed, track, Mode S hex and how long ago the aircraft was seen — rather than as raw JSON, so an assistant can quote them straight back.
- Aircraft by Mode S hex identifier, flight callsign or tail registration, each accepting a comma-separated list
- Every aircraft of an ICAO type code currently flying
- Everything within a radius of a latitude and longitude
- Aircraft squawking a given transponder code, including the emergency, radio-failure and interference codes
- The military aircraft the feed tags as such
- The law-enforcement and special-interest categories the feed maintains
No account and no key — the data is public. What governs use is the data licence rather than the code licence: airplanes.live provides the API for educational and non-commercial purposes, and this project is not affiliated with them, so it belongs in personal and classroom work rather than behind a product. The documented client configuration runs the server as a Docker container built from the repository. The plain Python path works too, but the virtual environment is not optional and the client must be given the full path to that environment's interpreter, not the system one. Radius searches and result sizes are capped by the upstream API, and a request times out rather than hanging.
Run a container — pull the image and point your client at it
