Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

MCAP is a modular, performant, and serialization-agnostic container file format, useful for pub/sub and robotics applications.

License

NotificationsYou must be signed in to change notification settings

foxglove/mcap

Repository files navigation

MCAP logo

MCAP

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.

Documentation

Developer quick start

MCAP libraries are provided in the following languages. For guidance on each language, see its corresponding README:

LanguageReadmeAPI docsPackage nameVersion
C++readmeAPI docsmcap
GoreadmeAPI docsseereleases
PythonreadmeAPI docsmcap
JavaScript/TypeScriptreadmeAPI docs@mcap/core
SwiftreadmeAPI docsseereleases
RustreadmeAPI docsmcap

To run the conformance tests, you will need to useGit LFS,which is used to store the test logs undertests/conformance/data.

MCAP CLI

Inspect, merge, and split MCAP files from the command line using the MCAP CLI.

Install withbrew install mcap or download the latest version directly from thereleases page.

License

MIT License.

Release process

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.

Go library

  1. Update theVersion in go/mcap/version.go
  2. Tag a release matching the version numbergo/mcap/vX.Y.Z.

CLI

Tag a release matchingreleases/mcap-cli/vX.Y.Z.

The version number is set at build time based on the tag.

C++

  1. Update the version in all relevant files
    • cpp/bench/conanfile.py
    • cpp/build-docs.sh
    • cpp/build.sh
    • cpp/docs/conanfile.py
    • cpp/examples/conanfile.py
    • cpp/mcap/include/mcap/types.hpp (MCAP_LIBRARY_VERSION)
    • cpp/mcap/include/conanfile.py
    • cpp/test/conanfile.py
  2. Tag a release matching the version numberreleases/cpp/vX.Y.Z

Python

There are several python packages; updating any follows a similar process.

  1. Update the version in the appropriate__init.py__ file
  2. Tag a release
    • For the core mcap library, match the patternreleases/python/vX.Y.Z
    • For other packages, usereleases/python/PACKAGE/vX.Y.Z
      • For example,releases/python/mcap/v1.2.3

TypeScript

There are several TS packages; updating any follows a similar process.

  1. Update the version in the appropriatepackage.json
  2. Tag a release matchingreleases/typescript/PACKAGE/vX.Y.Z
    • For example,releases/typescript/core/v1.2.3

Swift

Tag a release matching the version numberreleases/swift/vX.Y.Z

Rust

  1. Update the version in rust/Cargo.toml
  2. Tag a release matching the version numberreleases/rust/vX.Y.Z

Citations

If you use MCAP in your research, please cite it in your work. Our suggestedcitation format is:

@software{MCAP,  title = {MCAP: serialization-agnostic log container file format},  author = {{Foxglove Developers}},  url = {https://mcap.dev},  version = {your version},  date = {your date of access},  year = {2024},  publisher = {{Foxglove Technologies}},  note = {Available from https://github.com/foxglove/mcap}}

Please replace the version and date fields with the version of the software youused, and the date you obtained it. Citing MCAP will help spread awareness ofthe project and strengthen the ecosystem.


[8]ページ先頭

©2009-2025 Movatter.jp