Skip to main content

Import file formats

The Sift UI supports the following file formats for import:

Import file settings

CSV

Settings and requirements for importing CSV files.

File requirements

Your CSV file must meet the following requirements before importing.

Dialog settings

Settings in the Upload CSV dialog.

Parquet

Settings and requirements for importing Parquet files.

File requirements

Your Parquet file must meet the following requirements before importing.

Flat Dataset dialog settings

Settings in the Upload Parquet: Flat Dataset dialog.

Channel Per Row dialog settings

Settings in the Upload Parquet: Channel Per Row dialog.

Complex types modes

Applies to Flat Dataset Parquet files.

TDMS

Settings for importing TDMS files.

Dialog settings

Settings in the Upload TDMS dialog.

Channel mapping

TDMS imports use the group and Channel hierarchy embedded in the file to derive Channel names. The TDMS dialog does not expose a per-Channel configuration table. Channel-level description properties are imported and appear in the Channel detail panel in the Run view. Embedded enum configurations are also imported and surfaced as enum types on the Channel. To select specific Channels and control how each is imported via the REST API or Python client, use TdmsDataConfig entries in the data field of TDMSConfig. This is recommended when your TDMS file structure does not fit one of the predefined import behaviors. When data is empty, Sift imports all Channels and applies the fallback method to any with missing timing information. See TDMSConfig in the protocol buffers reference.
Ingested volume: TDMS and other compact file formats expand when translated into Sift’s wire format for ingestion, so the total volume ingested is larger than the source file size on disk. This ingested volume, not the source file size, counts against your ingestion quota.

HDF5

Settings for importing HDF5 files.

Schemas

The schema determines how Sift interprets the structure of your HDF5 file.

Dialog settings

These settings appear in all three HDF5 upload dialogs.

Programmatic Channel mapping

To map specific datasets to Channels via the REST API or Python client, use Hdf5DataConfig entries in the data field of Hdf5Config. This is recommended when your HDF5 file structure does not fit one of the predefined schemas. When data is empty, Sift does not automatically import all datasets; use the predefined schemas instead. See Hdf5Config in the protocol buffers reference.

ULog

Settings for importing PX4 ULog files.

Dialog settings

Settings in the Upload ULog dialog.

Channel naming

ULog files are self-describing. Sift detects Channels in the browser before upload and names each one <message>_<instance>.<field>, for example sensor_accel_0.x. Logged status text is imported as log_messages Channels.
The ULog dialog has no Channel preview or per-Channel configuration. Every Channel is imported automatically. To rename, retype, or select Channels, see Programmatic Channel selection below.

Programmatic Channel selection

To select specific Channels via the REST API or Python client, use UlogDataConfig entries in the data field of UlogConfig. When data is empty, Sift imports every detected Channel with its default name and type; when data is non-empty, only the listed Channels import, and each requires a full Channel config. Use info_keys and param_keys to import ULog info and parameter values as Run metadata; both require a Run. See UlogConfig in the protocol buffers reference. The Python client requires the ulog extra: pip install sift-stack-py[ulog].

Timestamp formats

Supported timestamp formats for the Time Format setting.

Channel configuration table

CSV and Parquet

Shown for CSV and Parquet (Flat Dataset). Each non-timestamp column appears as one row.

HDF5

Each row maps one dataset to a Channel. The columns available are the same across all three HDF5 schemas.

Data types

Supported data types for the Data Type field in the Channel configuration table.

Export file formats

The Sift UI supports the following file formats for export:

Export file settings

Channel name display

Controls how Channel names appear in column headers.

File splitting

Controls how exported data is partitioned across multiple files.

Channel data grouping

Determines how Channels are organized within the exported files.