STILTS

Starlink Tables Infrastructure Library Tool Set


Latest (see Version History)

Version 3.5-2 released 7 March 2025

New: Improved Parquet/VOParquet support
Parquet I/O handlers now support the VOParquet convention for extended metadata
New diagnostic commands parqlint and parqlook
New: MOC improvements
New command mocshape creates FITS/ASCII MOCs from shapes or points
MOC 2.0 FITS and ASCII files can now be read
New MOC handling functions in class Coverage
New: Improved CDF I/O
CDF input handler can now extract multiple tables from CDF file
Substantial read performance improvements


* 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: Parquet-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.

Note on Parquet: The stilts.jar file currently does not contain the classes required to work with parquet files (since they would triple the size of the jar file). To use stilts with parquet, use the topcat-extra.jar file ("java -jar topcat-extra.jar -stilts", or put the stilts script in the same directory).

The current release of STILTS is v3.5-2, released 7 March 2025. The full Version History is available in the user document.


* Further Information

Products related to STILTS are:

STIL
Public API underlying the functions of STILTS
TOPCAT
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?
A: TOPCAT STILTS.
Thanks to Proporta and Malcolm Currie for that.