--- id: lcm version: "1.5.2" license: unclear license_treatment: unclear maintenance: aging --- # lcm — Lightweight Communication and Marshalling License: unclear · Maintenance: aging · Downloads: 139.5K/mo ## What it is and what it does LCM is a messaging framework designed for real-time systems that need low-latency, high-bandwidth inter-process communication. It implements a decentralized publish/subscribe model using UDP multicast, eliminating the need for a central broker or daemon. Messages are automatically marshalled and unmarshalled with type safety, and the system supports multiple programming languages so different components can communicate seamlessly. The package is targeted at robotics, distributed systems, and other domains where direct peer-to-peer communication and minimal overhead matter. It includes logging and playback tools for debugging, and the Python binding requires Python 3.7 or later with prebuilt wheels for common platforms. The project is described as active and focused on stability, though the maintenance signal shows an aging status with a 295-day gap since the last release. Use it for: - Robotics systems where multiple processes on different machines need to exchange sensor and control data with minimal latency. - Distributed real-time applications that require efficient broadcast messaging without a centralized message broker. - Multi-language systems where different components need to communicate via a common, type-safe protocol. - Logging and playback of system events for debugging and analysis of real-time behavior. - High-frequency data streaming between processes on the same or networked machines using UDP multicast. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. LCM provides publish/subscribe message passing and automatic data marshalling for real-time inter-process communication with low latency and high bandwidth efficiency. Yes, if you need decentralized, low-latency inter-process communication in a real-time system and can tolerate an aging maintenance status. The lack of a clear license statement is a blocker for proprietary use—verify licensing before committing. The project claims active status and stability focus, but the 295-day release gap warrants checking whether it meets your production requirements. ## Install pip install lcm uv add lcm poetry add lcm ## Installing lcm Before you install: Medium install friction due to compiled wheels for multiple platforms and Python versions. Maintenance status is aging—295 days since last release—but the project states it is active and focused on stability and maintenance patches. License in practice: License treatment is unclear; no SPDX identifier or raw license text is available in the metadata. Verify the actual license terms before adopting in proprietary or restricted-license contexts. Quickstart: pip install lcm import lcm lc = lcm.LCM() # Define and publish/subscribe to messages via LCM Requires Python 3.7 or later; prebuilt wheels available for multiple platforms. Verify before relying: - Actual license terms and restrictions—metadata shows no SPDX or raw license field. - Whether the 295-day release gap indicates active maintenance or dormancy despite stated project activity. - Real-world latency and throughput performance characteristics for specific use cases. - Which Python versions beyond 3.7 are actively tested and supported. ## Package facts - License: not declared (unclear) - Python support: supports_current - Install friction: medium - Maintenance: aging - Downloads: 139.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags inter-process communication ipc, publish subscribe messaging, data marshalling serialization, low latency message passing, udp multicast broadcast, real-time system communication, type-safe message protocol, ipc-messaging, real-time-systems, multicast [View on SkillFed](https://skillfed.io/packages/lcm) · [View on PyPI](https://pypi.org/project/lcm/)