Before you begin
- Install and configure the CLI. See Sift CLI setup.
- Identify the Asset that owns the data. When you import, you can name an existing Asset or a new one.
- Confirm your file has a time column in a supported time format.
- For every command, flag, and supported value, see the Sift CLI reference.
Import commands
Every import command imports into an Asset named by--asset.
To associate the data with a Run, or to create or reuse a Run by name, pass --run <name>.
To append to an existing Run, use --run-id <id>.
The CSV importer accepts
--run only.--previewparses the file and prints the detected schema without uploading.--waitblocks until Sift finishes processing the import.
Import a CSV file
Import a CSV file into an Asset. Unless you specify column types, the CLI infers each column as either string or double.--channel-column with the 1-based column index. Supply a --data-type, --unit, and --description for each --channel-column. The counts must match. Units and descriptions can be empty strings.
--header-row, --first-data-row, and --time-column. Set the time format with --time-format.
Import a Parquet file
Parquet import has two layouts. Choose the subcommand that matches your file.Flat dataset
Useflat-dataset when every column holds one Channel, except for the time column. By default, the CLI imports every non-time column.
--channel-path for each Channel. Supply a --data-type, --unit, and --description for each --channel-path. The counts must match. Units and descriptions can be empty strings.
time, timestamp, timestamps, and ts. Set --time-path to name it explicitly. The CLI infers the time format from the column’s Arrow type unless you set --time-format.
Channel per row
Usecpr when the file is laid out one Channel value per row. The --mode flag selects the layout:
single: the file holds[time, value]and every row belongs to one Channel. Name it with--channel-name.multi: the file holds a name column and a value column. Set--name-pathto the column holding Channel names. The CLI creates a Channel per unique name.
--complex-types-mode, which defaults to ignore.
Import a TDMS file
Import a TDMS file into an Asset.--fallback-method controls behavior and defaults to fail-on-error. Set it to ignore-error to skip those Channels. To import TDMS file properties to the Run as metadata, pass --import-file-properties.
Import an HDF5 file
Import an HDF5 file into an Asset. Two flags are required:--schema, which names the file’s layout (one-d, two-d, or compound), and --time-format. Add --relative-start-time (-s) when the time format is relative.
bool, int8/16/32/64, uint8/16/32/64, float32, and float64. Datasets with other types produce a client-side error.
The time-column flag depends on the schema:
--time-name(one-d): the leaf name of the time dataset when it differs from the auto-detected namestime,timestamp,timestamps, orts.--time-index(two-d): the index of the time column. Defaults to 0.--time-field(compound): the name of the time field.
Import a ULog file
Import a PX4 ULog file into an Asset. ULog files are self-describing, so the CLI imports every logged topic by default, naming each Channel<message>_<multi_id>.<field> (for example sensor_accel_0.x). Logged status text becomes log_messages Channels.
--relative-start-time (-s), which takes precedence:
--info-key or --param-key for each one. Both require --run or --run-id:
--parse-error-policy ignore-error to import the records that parsed and skip the rest.
Import an MCAP file
Import an MCAP file into an Asset. See import mcap for supported topics and current limitations.--relative-start-time (-s) as an RFC 3339 timestamp:
--metadata-record for each one. This requires --run or --run-id:
--parse-error-policy ignore-error to import what decoded and skip the rest:
--complex-types-import-mode to control how variable-cardinality fields import. See import mcap for the available modes.
Import backup files
Import backup files generated by sift_stream, part of thesift_app built-in system Asset. If ingestion fails, sift_stream writes the in-flight data to a local backup. sift-cli import backups will replay them and import anything that did not make it into Sift.
--path, the CLI reads from your OS data directory. Pass --cleanup to delete the backup files after a successful upload.
To list backup files without importing them:
Time formats
The--time-format flag accepts absolute and relative values. For the full list, see the Sift CLI reference.
For a relative format, set the relative start time (-s, or --relative-start-time on Parquet, TDMS, and HDF5) to an RFC 3339 timestamp that anchors the offsets.