Skip to content

python(feat): add MCAP imports - #755

Merged
wei-sift merged 12 commits into
mainfrom
eng-12130-sift-client-mcap-imports
Sep 18, 2026
Merged

wei-sift merged 12 commits into
mainfrom
eng-12130-sift-client-mcap-imports

Conversation

@wei-sift

@wei-sift wei-sift commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds MCAP (.mcap) import support to sift_client for ROS 2 topics (ros2msg/cdr)

job = client.data_import.import_from_path("recording.mcap", asset=my_asset)

detect_config reads the file's channels locally without decoding messages, giving one entry per flattened field named <topic>.<field_path>. Edit it to select, rename, or retype channels; leave data empty to import everything.

Variable-cardinality fields are typed BYTES, with complex_types_import_mode deciding what each becomes, matching Parquet. Undecodable topics are skipped with a warning unless parse_error_policy is IGNORE_ERROR, which fails the import.

Adds the MCAP config types, DataTypeKey.MCAP, an example, and a new mcap extra.

Testing

Unit tests covering schema flattening, type mapping, topic rules, the three scan paths, and each complex types mode.

Manual imports with MCAP files

@github-actions

github-actions Bot commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor

Python docs preview: https://sift-stack.github.io/sift/python/pr-755/

Deployed from c84bd72. The link may take up to a minute to become live as GitHub Pages propagates.

@wei-sift
wei-sift force-pushed the eng-12130-sift-client-mcap-imports branch from cd5f9d4 to 3534540 Compare August 27, 2026 18:16
@wei-sift
wei-sift requested a review from marc-sift August 27, 2026 20:19
@wei-sift
wei-sift marked this pull request as ready for review August 27, 2026 20:19
Comment thread python/lib/sift_client/_internal/util/mcap.py Outdated
Comment thread python/lib/sift_client/_internal/util/mcap.py
Comment thread python/lib/sift_client/_internal/util/mcap.py
Comment thread python/lib/sift_client/_internal/util/mcap.py
Comment thread python/lib/sift_client/_internal/util/mcap.py Outdated
@wei-sift
wei-sift requested a review from marc-sift September 2, 2026 06:44
Comment thread python/docs/guides/pytest_plugin/index.md
Comment thread python/lib/sift_client/_internal/util/mcap.py
@wei-sift
wei-sift requested a review from marc-sift September 17, 2026 18:20
marc-sift
marc-sift previously approved these changes Sep 17, 2026
@wei-sift
wei-sift requested a review from marc-sift September 18, 2026 18:10
@wei-sift
wei-sift merged commit 68afb2d into main Sep 18, 2026
26 checks passed
@wei-sift
wei-sift deleted the eng-12130-sift-client-mcap-imports branch September 18, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants