Skip to main content

Build Status Gitlab PyPI

Links and Nodes (LN)

Links and Nodes (LN) is an open-source middleware for building distributed real-time robotic systems. It combines process management with fast publish/subscribe messaging and request/response services, allowing complex multi-process systems to be configured and reproduced from a single text configuration file (.lnc).

Developed at the German Aerospace Center (DLR) since 2010, LN supports robotics applications that require deterministic behavior, low-latency communication, and coordinated process control across multiple hosts and programming languages (C, C++, Python).

Key Features

  • Process management -- Spawn, monitor, and control processes with dependency ordering, priorities, and real-time introspection.
  • Publish/subscribe topics -- Low-latency messaging via shared memory (local), UDP, or TCP.
  • Services (request/response) -- Reliable RPC via Unix domain sockets (local) or TCP (network).
  • Multi-language APIs -- C, C++, and Python client libraries with a shared message-definition format.
  • Single configuration -- Define processes, topics, services, and dependencies in one .lnc file.
  • Manager GUI & CLI -- ln_manager for interactive system monitoring and control (web UI included).

Platform Support

Native install is officially supported on Linux (Ubuntu 22.04+, Debian 12+, ...) only. For macOS and Windows, use the Docker-based installation.

Getting Started

Goal Guide
Install LN Installation Guide — Native Linux or Docker
Run examples ln_manager_example repository
Full documentation User Guide & Tutorials

Documentation

  • User Guide & Tutorials -- Getting started, configuration, API reference
  • Source API: libln/include/ln/ln.h (C), libln/include/ln/cppwrapper.h (C++), python/links_and_nodes/ (Python)

Docker Images

If you prefer to run LN from a container, see docker/README.md for complete Docker usage documentation.

License

The core library (libln) is released under LGPLv3 so it can be dynamically linked into non-GPL projects. All other components (ln_daemon, ln_manager, Python bindings) are released under GPLv3.

How To Contribute

If you want to contribute, please read CONTRIBUTING.md guide first.


DLR-RMC Instructions

For DLR-RMC systems, see README.RMC.md.

Download files

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

Source Distribution

liblinks_and_nodes-2.9.0.tar.gz (5.0 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

liblinks_and_nodes-2.9.0-cp314-cp314-manylinux_2_28_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

liblinks_and_nodes-2.9.0-cp313-cp313-manylinux_2_28_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

liblinks_and_nodes-2.9.0-cp312-cp312-manylinux_2_28_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

liblinks_and_nodes-2.9.0-cp311-cp311-manylinux_2_28_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

liblinks_and_nodes-2.9.0-cp310-cp310-manylinux_2_28_x86_64.whl (15.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

Release history Release notifications | RSS feed

This release

2.9.0 This release

6 files

2.8.1

6 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page