MCAP is a modular container format and logging library for pub/sub messages with arbitrary message serialization. It is primarily intended for use in robotics applications, and works well under various workloads, resource constraints, and durability requirements.
MCAP libraries are provided in the following languages. For guidance on each language, see its corresponding README:
Language | Readme | API docs | Package name | Version |
---|---|---|---|---|
C++ | readme | API docs | mcap |
|
Go | readme | API docs | see releases | |
Python | readme | API docs | mcap |
|
JavaScript/TypeScript | readme | API docs | @mcap/core |
|
Swift | readme | API docs | see releases | |
Rust | readme | API docs | mcap |
To run the conformance tests, you will need to use Git LFS,
which is used to store the test logs under tests/conformance/data
.
Interact with MCAP files from the command line using the MCAP CLI tool.
Download the latest mcap-cli
version from the releases page.
MIT License. Contributors are required to accept the Contributor License Agreement.
Release numbering follows a major.minor.patch format, abbreviated as "X.Y.Z" below.
CI will build the appropriate packages once tags are pushed, as described below.
Version
in go/mcap/version.gogo/mcap/vX.Y.Z
.Tag a release matching releases/mcap-cli/vX.Y.Z
.
The version number is set at build time based on the tag.
MCAP_LIBRARY_VERSION
)releases/cpp/vX.Y.Z
There are several python packages; updating any follows a similar process.
__init.py__
filereleases/python/vX.Y.Z
releases/python/PACKAGE/vX.Y.Z
releases/python/mcap/v1.2.3
There are several TS packages; updating any follows a similar process.
package.json
releases/typescript/PACKAGE/vX.Y.Z
releases/typescript/core/v1.2.3
Tag a release matching the version number releases/swift/vX.Y.Z
releases/rust/vX.Y.Z
link |
Stars: 419 |
Last commit: 4 hours ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics