Starlink Tables Infrastructure Library Tool Set

Latest (see Version History)

Version 3.4-10 released 29 February 2024

New: Support for HAPI time series services
Data from Heliophysics Data API services can be read using the HAPI input handler and table scheme.

Version 3.4-9 released 1 November 2023

New: plot2corner command
Plots a Corner Plot (a.k.a. SPLOM, Pairs Plot), a grid of scatter-plot-like and histogram-like plots for all pair combinations of a set of coordinates.
New: VO authentication management
Transparent negotiation of username/password submission for VO-compliant services.

* What is STILTS?

The STIL Tool Set is a set of command-line tools based on STIL, the Starlink Tables Infrastructure Library. It deals with the processing of tabular data; the package has been designed for, but is not restricted to, astronomical tables such as source catalogues. Some of the tools are generic and can work with multiple formats (including FITS, VOTable, CDF, ECSV, CSV, PDS4, Parquet, MRT, Feather, GBIN, SQL and ASCII), and others are specific to the VOTable format. STILTS is the command-line counterpart of the GUI table analysis tool TOPCAT. The package is robust, fully documented, and designed for efficiency, especially with very large datasets.

Facilities offered include:

A powerful and extensible expression language is used for specifying data calculations. These facilities can be put together in very flexible and efficient ways.

For tasks in which the data can be streamed, the size of table STILTS can process is effectively unlimited. For other tasks, tables of a few million rows and a few hundred columns usually do not present a problem.

STILTS is written in pure Java (Java SE 8 or later; versions prior to STILTS 3.2 were Java SE 6), and can be run from the command line or from Jython, or embedded into java applications. The STILTS application is released under the GNU GPL, though much of the library code is licensed under the LGPL or other less restrictive licenses - see LICENSE.txt.

* Commands

STILTS currently consists of generic table processing commands:

plotting commands (as well as three deprecated ones): VOTable-specific commands: Virtual Observatory/external data service access commands: sky pixel-related commands: SQL-specific commands: and some miscellaneous items:

See also the Commands by Category section of the manual.

More commands and facilities may be added in the future.

* Documentation

The STILTS documentatation is provided in the user document, SUN/256. This is available in the following formats:

* Mailing Lists

Two mailing lists exist for STILTS, TOPCAT and related software:

See the mailing list page for more information.

If you have queries or support enquiries you can send them to topcat-user. However, I'm still happy to answer mail directly to me if you prefer that.

* Downloads

You can download STILTS from one of the following links:

The stilts.jar file contains all the classes required to run STILTS. If you run "java -jar stilts.jar" you will see a help message; on Unix you also have the choice of downloading the stilts script into the same directory and using that for convenience. For more details on invoking the tools, read SUN/256.

It is also possible to run STILTS commands against an installation of the full Starjava set or of TOPCAT (run "topcat -stilts ... or "java -jar topcat-full.jar -stilts ...") since the relevant classes are present in each case.

If you have MacOS and homebrew, then installing TOPCAT with "brew install --cask topcat --no-quarantine" will install the stilts script along with the TOPCAT application.

The current release of STILTS is v3.4-10, released 29 February 2024. The full Version History is available in the user document.

* Further Information

Products related to STILTS are:

Public API underlying the functions of STILTS
Graphical user tool for interactive table manipulation

If you have any comments, questions, requests, bugs etc, please either post to the topcat-user list or contact me direct:

If you use this software in published work, then citing paper 2006ASPC..351..666T would be appreciated.

And finally...

Q: What do you get if you combine all the Starlink Java table handling applications?
Thanks to Proporta and Malcolm Currie for that.