runner=parallelin crossmatch commands like tmatch2 to get several times speed improvements matching large tables on multi-core machines.
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:
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.
STILTS currently consists of twelve generic table processing commands:
tcopy- Table format converter
tpipe- Generic table pipeline processing utility
tskymatch2- Two-table crossmatchers
tmatch1- Intra-table crossmatcher
tmatchn- Multi-table crossmatcher
tjoin- Trivial side-by-side multiple-table joiner
arrayjoin- Adds table-per-row data as array-valued columns
tgridmap- N-dimensional histogram calculator with table output
tcube- N-dimensional histogram calculator with FITS array output
tcatn- Multiple-table concatenaters
tmultin- Multiple-table container writers
tloop- Test table creation utility
plot2plane- Plots on 2d Cartesian axes
plot2sky- Plots on celestial axes
plot2cube- Plots on 3d Cartesian axes
plot2sphere- Plots in spherical polar space
plot2time- Plots 2-d axes with Time horizontally
cone- Cone-search like queries (including SIA and SSA)
tapskymatch- TAP service clients
cdsskymatch- match local table against VizieR/SIMBAD using CDS X-Match service
taplint- TAP service test suite
datalinklint- DataLink validator
regquery- Registry Query
multicone, now somewhat deprecated) - Match local table with one behind a Cone Search/SIA/SSA service
tskymap- Generate HEALPix sky density maps
pixfoot- Generate Multi-Order Coverage (MOC) maps
pixsample- Sample from a HEALPix pixel data file
sqlcone) - Match local table with one in an SQL database
sqlclient- JDBC-based SQL command-line client
sqlupdate- Updates data in existing cells of an RDBMS table
server- HTTP server which executes STILTS commands
calc- Quick expression evaluator
funcs- Documentation browser for expression language functions
xsdvalidate- Validates against XML schema
See also the Commands by Category section of the manual.
More commands and facilities may be added in the future.
The STILTS documentatation is provided in the user document, SUN/256. This is available in the following formats:
Two mailing lists exist for STILTS, TOPCAT and related software:
email@example.com: Public list for questions, answers, discussions, bugs, comments, ...
firstname.lastname@example.org: Low-volume read-only list for release announcements and news items.
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.
You can download STILTS from one of the following links:
stilts.jarfile 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
stiltsscript 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 -stilts ...")
since the relevant classes are present in each case.
The current release of STILTS is v3.4-6, released 8 July 2022. The full Version History is available in the user document.
Products related to STILTS are:
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.
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.