Code Monkey home page Code Monkey logo

wkalt / mcap Goto Github PK

View Code? Open in Web Editor NEW

This project forked from foxglove/mcap

0.0 0.0 0.0 131.61 MB

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

Home Page: https://mcap.dev

License: MIT License

Shell 0.15% JavaScript 0.97% C++ 16.42% Python 24.38% Go 22.86% Rust 7.64% TypeScript 19.76% CSS 0.40% Swift 4.60% Makefile 0.45% CMake 0.31% Dockerfile 0.24% Kaitai Struct 0.58% MDX 1.24%

mcap's Introduction

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:

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.

CLI tool

Interact with MCAP files from the command line using the MCAP CLI tool.

Download the latest mcap-cli version from the releases page.

License

MIT License. Contributors are required to accept the Contributor License Agreement.

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 the Version in go/mcap/version.go
  2. Tag a release matching the version number go/mcap/vX.Y.Z.

CLI

Tag a release matching releases/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 number releases/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 pattern releases/python/vX.Y.Z
    • For other packages, use releases/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 appropriate package.json
  2. Tag a release matching releases/typescript/PACKAGE/vX.Y.Z
    • For example, releases/typescript/core/v1.2.3

Swift

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

Rust

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

mcap's People

Contributors

jtbandes avatar wkalt avatar james-rms avatar jhurliman avatar defunctzombie avatar amacneil avatar foxymiles avatar esthersweon avatar dependabot[bot] avatar achim-k avatar emersonknapp avatar mrkline avatar jameskuszmaul-brt avatar snosenzo avatar wimagguc avatar narasaka avatar bryfox avatar bradsquicciarini-coco avatar wirthual avatar pezy avatar olavsr avatar jon-chuang avatar yizhang24 avatar starcsu avatar saching13 avatar ocin-rye avatar michaelorlov avatar ktong821 avatar jiangengdong avatar idrilirdi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.