Skip to main content

Convert tabular CSV data to MCAP format with support for ROS2 and JSON schemas

Project description

Tabular2MCAP

Documentation Supported by Alloy

Convert tabular data (CSV, Parquet) to MCAP format with support for ROS2 and JSON schemas, enabling seamless integration with robotics workflows, data visualization in Foxglove Studio, and playback of sensor and navigation data.

Please ⭐ if this helps you today!

Features

  • Multi-Format Support: Convert to ROS2 or JSON messages with support for standard message types (e.g., sensor_msgs/msg/NavSatFix, geometry_msgs/msg/TransformStamped, foxglove.LocationFix, and more)
  • Configuration-Driven: YAML-based mapping with Jinja2 templates for flexible data transformation
  • Batch Processing: Process multiple files and directories with a single command

Quick Start

Installation

pip install tabular2mcap

Basic Usage

tabular2mcap \
  -i /path/to/data/directory \
  -o output.mcap \
  -c config.yaml \
  -f converter_functions.yaml

Configuration System

The tool uses YAML configuration files to define how CSV files should be processed. These are:

  • config.yaml: Defines file patterns and converter function mappings
  • converter_functions.yaml: Contains Jinja2 templates for data transformation

Example Configurations

JSON Format:

# config.yaml
writer_format: "json"
file_mappings:
  - file_pattern: 'data.csv'
    converter_functions:
      - function_name: "row_to_foxglove_location_fix"
        schema_name: "foxglove.LocationFix"
        topic_suffix: "LocationFix"

ROS2 Format:

# config.yaml
writer_format: "ros2"
tabular_mappings:
  - file_pattern: '**/data.csv'
    converter_functions:
      - function_name: "row_to_nav_sat_fix"
        schema_name: "sensor_msgs/msg/NavSatFix"
        topic_suffix: "NavSatFix"

Tutorial

For detailed instructions on adding support for new types of CSV data, see the Tutorial in the documentation.

Contributing

See CONTRIBUTING.md for development setup, testing, and contribution guidelines.

Supported By

Alloy

This project is supported by Alloy - Search all your robot data in plain english. Alloy provides a platform to unify image, time-series, and log search for robotics teams.

License

GNU General Public License v3.0 - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tabular2mcap-0.1.4.tar.gz (75.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tabular2mcap-0.1.4-py3-none-any.whl (102.2 kB view details)

Uploaded Python 3

File details

Details for the file tabular2mcap-0.1.4.tar.gz.

File metadata

  • Download URL: tabular2mcap-0.1.4.tar.gz
  • Upload date:
  • Size: 75.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tabular2mcap-0.1.4.tar.gz
Algorithm Hash digest
SHA256 6d8d62ecfcb408f6a49f827f3a93d5c86c34c578f516ec8907b7e5b3c3279f1a
MD5 4b3f548125937c964d8cd8bbd0611b3d
BLAKE2b-256 39779eb91b3bbde9670171820cb80fde83f077c1c63940caff81ef61484b64ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for tabular2mcap-0.1.4.tar.gz:

Publisher: publish.yml on alloyrobotics/tabular2mcap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tabular2mcap-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: tabular2mcap-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 102.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tabular2mcap-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 73b758fde95043f299514cee99c9e38189f0bbcae96c9f88f614a8f39365de76
MD5 587b7f61e503602597e4e601d0b219f2
BLAKE2b-256 580ba6cfa09c35a2b67e372c08960a99913a702ce079884a2cc78d4331a3c0e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for tabular2mcap-0.1.4-py3-none-any.whl:

Publisher: publish.yml on alloyrobotics/tabular2mcap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page