Skip to main content

Lightweight Communication and Marshalling

Project description

Lightweight Communications and Marshalling (LCM)

LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages.

Roadmap

The LCM project is active again. The current long-term plan is to focus on stability and maintenance patches to fix longstanding issues. Longer term we're open to evolution of LCM to have additional features (as long as backwards compatibility is enforced). We're very open to community feedback and involvement on new features.

Quick Links

Features

  • Low-latency inter-process communication
  • Efficient broadcast mechanism using UDP Multicast
  • Type-safe message marshalling
  • User-friendly logging and playback
  • No centralized "database" or "hub" -- peers communicate directly
  • No daemons
  • Few dependencies

Supported platforms and languages

  • Platforms:
    • GNU/Linux
      • Ubuntu (20.04 and 22.04)
      • Fedora (37)
    • macOS (11 and 12)
    • Windows (2019 and 2022) via MSYS2
  • Languages
    • C
    • C++
    • Java
    • Lua
    • MATLAB
    • Python (3.6 and later)

Unmaintained languages

The following languages are currently unmaintained. PRs for these languages are still welcome and if you are interested in maintaining them please let us know.

  • Go
  • C#/.NET

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

lcm-1.5.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

lcm-1.5.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

lcm-1.5.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

lcm-1.5.0-pp310-pypy310_pp73-macosx_14_0_arm64.whl (3.4 MB view hashes)

Uploaded PyPy macOS 14.0+ ARM64

lcm-1.5.0-pp310-pypy310_pp73-macosx_13_0_x86_64.whl (3.5 MB view hashes)

Uploaded PyPy macOS 13.0+ x86-64

lcm-1.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

lcm-1.5.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

lcm-1.5.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

lcm-1.5.0-pp39-pypy39_pp73-macosx_14_0_arm64.whl (3.4 MB view hashes)

Uploaded PyPy macOS 14.0+ ARM64

lcm-1.5.0-pp39-pypy39_pp73-macosx_13_0_x86_64.whl (3.5 MB view hashes)

Uploaded PyPy macOS 13.0+ x86-64

lcm-1.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

lcm-1.5.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

lcm-1.5.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

lcm-1.5.0-pp38-pypy38_pp73-macosx_14_0_arm64.whl (3.4 MB view hashes)

Uploaded PyPy macOS 14.0+ ARM64

lcm-1.5.0-pp38-pypy38_pp73-macosx_13_0_x86_64.whl (3.4 MB view hashes)

Uploaded PyPy macOS 13.0+ x86-64

lcm-1.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

lcm-1.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

lcm-1.5.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

lcm-1.5.0-pp37-pypy37_pp73-macosx_13_0_x86_64.whl (3.5 MB view hashes)

Uploaded PyPy macOS 13.0+ x86-64

lcm-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

lcm-1.5.0-cp312-cp312-musllinux_1_2_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

lcm-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

lcm-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

lcm-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

lcm-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.9 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

lcm-1.5.0-cp312-cp312-macosx_14_0_arm64.whl (3.4 MB view hashes)

Uploaded CPython 3.12 macOS 14.0+ ARM64

lcm-1.5.0-cp312-cp312-macosx_13_0_x86_64.whl (3.5 MB view hashes)

Uploaded CPython 3.12 macOS 13.0+ x86-64

lcm-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

lcm-1.5.0-cp311-cp311-musllinux_1_2_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

lcm-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

lcm-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

lcm-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

lcm-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

lcm-1.5.0-cp311-cp311-macosx_14_0_arm64.whl (3.4 MB view hashes)

Uploaded CPython 3.11 macOS 14.0+ ARM64

lcm-1.5.0-cp311-cp311-macosx_13_0_x86_64.whl (3.5 MB view hashes)

Uploaded CPython 3.11 macOS 13.0+ x86-64

lcm-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

lcm-1.5.0-cp310-cp310-musllinux_1_2_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

lcm-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

lcm-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

lcm-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

lcm-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

lcm-1.5.0-cp310-cp310-macosx_14_0_arm64.whl (3.4 MB view hashes)

Uploaded CPython 3.10 macOS 14.0+ ARM64

lcm-1.5.0-cp310-cp310-macosx_13_0_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.10 macOS 13.0+ x86-64

lcm-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

lcm-1.5.0-cp39-cp39-musllinux_1_2_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

lcm-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

lcm-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

lcm-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

lcm-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

lcm-1.5.0-cp39-cp39-macosx_14_0_arm64.whl (3.4 MB view hashes)

Uploaded CPython 3.9 macOS 14.0+ ARM64

lcm-1.5.0-cp39-cp39-macosx_13_0_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.9 macOS 13.0+ x86-64

lcm-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

lcm-1.5.0-cp38-cp38-musllinux_1_2_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

lcm-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

lcm-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

lcm-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

lcm-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

lcm-1.5.0-cp38-cp38-macosx_14_0_arm64.whl (3.4 MB view hashes)

Uploaded CPython 3.8 macOS 14.0+ ARM64

lcm-1.5.0-cp38-cp38-macosx_13_0_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.8 macOS 13.0+ x86-64

lcm-1.5.0-cp37-cp37m-musllinux_1_2_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.2+ x86-64

lcm-1.5.0-cp37-cp37m-musllinux_1_2_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.2+ i686

lcm-1.5.0-cp37-cp37m-musllinux_1_2_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.2+ ARM64

lcm-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

lcm-1.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

lcm-1.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.9 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

lcm-1.5.0-cp37-cp37m-macosx_13_0_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.7m macOS 13.0+ x86-64

Supported by

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