STIL is a pure Java library for generic input, output and processing of tabular data. It presents to the application programmer a view of a table which looks the same regardless of whether it came from a FITS file, a VOTable, an ASCII text file, a query on a relational database, or whatever. Thus the application doesn't have to worry about the storage format of tables either when reading or writing them, it can concentrate on doing processing. STIL's idea of a table is rich enough to include table and column metadata, and table cells which contain scalar or single- or multi-dimensional array data of numerical, string or other types. This is well suited to astronomical data, though it can be of use in other fields as well.
STIL comes with a range of supported input and output formats (including VOTable, FITS, Feather, ECSV, SQL, ASCII, CSV, CDF, GBIN) and can be extended to cope with others.
The generic table I/O has the following features:
STIL includes sophisticated facilities for VOTable I/O which can, if desired, be used largely independently of the rest of the package. As well as the general features listed above this has the following features:
The following formats are currently supported for table input:
There are two main sources of documentation for STIL:
You can download the full documentation set (SUN/252 in various forms plus javadocs) in the documentation zip file.
The current version of STIL is 3.4-2, released 24 August 2020.
STIL is released under the LGPL, and the source code is available at Github. The main components are available here:
If you like Maven, the
STIL-IO maven package
is available; this covers the classes required for table I/O
and their dependencies, but not those required for crossmatching
Thanks to Brian Major at CADC for organising this.
Note that the maven package is not always updated promptly;
if you need a version that is not in the repo, please ask.
Previous versions can be found at ftp://andromeda.star.bris.ac.uk/pub/star/stil/. You can see the version history in the user document.
The current version of STIL has been developed using the Java SE 8, but is expected to work with any Java 8 or later version of the J2SE. STIL versions prior to v3.2 work with Java 6 or later.
If you like STIL, you'll love
The following mailing lists exist for topics related to STIL and friends:
If you have any comments, questions, requests, bugs etc, please either use the topcat-user mailing list, or contact me direct: