by flightaware


Welcome to flightaware.github.com, the home of a number of open source projects originated or adopted by FlightAware over the last few years.


dump1090 is a program that can decode ADS-B and Mode S data broadcasts from aircraft when using an RTL-SDR software-defined radio dongle and a computer such as a Raspberry Pi.


piaware is a package intended to forward data read from an ADS-B receiver to FlightAware. It is fully open source and also supports multilateration so in many cases it can figure out the positions of aircraft not equipped with modern ADS-B transponders.


casstcl is a Tcl language interface to the Cassandra database system. It is completely asynchronous, thread safe, supports prepared statements, batches, and all types of Cassandra collections. It is compatible with Cassandra binary protocol version 1 and 2, supports encryption via SASL and SSL, and manages all the data type conversions behind your back.


kafkatcl is a Tcl language interface to the Apache Kafka distributed messaging system. It provides a natural Tcl interface, is fast, asynchronous, thread safe, and free.


speedtables is a high-performance memory-resident database. The speed table compiler reads a table definition and generates a set of C access routines to create, manipulate and search tables containing millions of rows. Currently oriented towards Tcl.


scotty is a Tcl extension for network management that provides support for sending and receiving ICMP packets, querying the Domain Name sSystem, accessing UDP sockets from Tcl, sending and receiving SNMP messsages, and more.

Originally written by Juergen Schoenwaelder, along with many contributors, FlightAware, along with contributors, has modernized and continued to update and maintain this useful tool.


tcl-jira-api provides a native Tcl interface to the JIRA REST API. It supports logging into Jira and then getting issues, issue types, roles, transitions, etc, and can by used to programatically create issues, add comments, etc.


mdsplib is a parser for METARs, aviation weather data reports that contain data about temperature, wind speed and direction, cloud cover and heights, visibility, precipitation, barometric pressure, etc.

Originally written and released by the United States National Weather Service, this version contains many bug fixes and has been updated to work with modern C compilers.


tcl.gd is a new Tcl interface to the GD drawing library that is nearly 100% feature complete with GD and provides Tcl developers with the ability to read and write JPEG, PNG, GIF, WBMP, animated GIF, and other formats and manipulate indexed color and truecolor images by drawing pixels, lines, polygons, rectangles, arcs, ellipses, etc, doing fills, drawing text with truetype fonts, draw anti-aliased, resize, resample, rotate and merge images, etc.

It's complete, solid, and fast.


yajl-tcl is a Tcl C extensions written to make the Yet Another JSON Library (YAJL) JSON parsing and generating C library available to Tcl programs.

Although there is already a package in the tcllib library, huddle, that can generate JSON, the big advantage in using yajl-tcl is performance. Also, yajl-tcl can parse JSON as well as generating it.

In a benchmark generating JSON representing 5,000 airports with code, name, latitude and longitude, yajl-tcl was 157 times faster than huddle.


tclbsd is a Tcl C extensions written to provide Tcl bindings to various BSD UNIX system calls and library routines.

tclbsd provides interfaces to get the system load average (getloadavg), get and set hard and soft resource limits (rlimit), obtain the resource usage for the current process or its children (rusage), set the process title (setproctitle), get information about mounted filesystems (statfs and getfsstat), log to the system log (syslog), abort the process (abort), and obtain system clock counts (cptime).


tcllauncher is a way to have Tcl applications run under their own name, be installed in one place with all their support files, and provides them with commands to facilitate server-oriented application execution.

More to Come

the rest of the projects can be found at https://github.com/flightaware. They are being ongoingly improved. You can find repositories for a high-performance memory-resident database (speedtables), splining from Tcl without Tk (tclspline), and others.


All of these packages are licensed under the Berkeley copyright.