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
.lncfile. - Manager GUI & CLI --
ln_managerfor 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.
Metadata
Release files for liblinks-and-nodes 2.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| liblinks_and_nodes-2.9.0.tar.gz | 5.0 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| liblinks_and_nodes-2.9.0-cp314-cp314-manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64 | Details |
| liblinks_and_nodes-2.9.0-cp313-cp313-manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64 | Details |
| liblinks_and_nodes-2.9.0-cp312-cp312-manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64 | Details |
| liblinks_and_nodes-2.9.0-cp311-cp311-manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64 | Details |
| liblinks_and_nodes-2.9.0-cp310-cp310-manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.28+ x86-64 | Details |
Total release size: 82.2 MB
Release files / liblinks_and_nodes-2.9.0.tar.gz
| Download URL | liblinks_and_nodes-2.9.0.tar.gz |
|---|---|
| Size | 5.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f59d2712e21bee08f10e276829280e5e0d729ed69d773eb68a74688cb6e19cc
|
|
BLAKE2b-256 checksum How to use checksums |
eb71ed322605c590e69a034ce561ff1fa6e6c466b58043d204343b04dfdf7ea0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / liblinks_and_nodes-2.9.0-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | liblinks_and_nodes-2.9.0-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
488d2e4ed57dc15577999269443813bda19fcc28505176e4b27f347880ae30a1
|
|
BLAKE2b-256 checksum How to use checksums |
48f23fa28e03affbb0934550bcd0120e7c1fd6136599e0198c7cfc02f7315d90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / liblinks_and_nodes-2.9.0-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | liblinks_and_nodes-2.9.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
59147c81819044f7a28e657d5d91e901a7c57e5b2550826c41d50f135c425ea5
|
|
BLAKE2b-256 checksum How to use checksums |
e1e6b176cb12999b9a1f6aef109440a2c3bd7ea93631a9f60706b12f3f7cf3fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / liblinks_and_nodes-2.9.0-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | liblinks_and_nodes-2.9.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d8b2fabb8b9ebca5b06be207630aac208fd459d829501069eb0d438a9949aef3
|
|
BLAKE2b-256 checksum How to use checksums |
5c51cc79b9bd7bd0f85509cde30e38c3c79b205788aa40f966fe4e490440d44f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / liblinks_and_nodes-2.9.0-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | liblinks_and_nodes-2.9.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9358556511e2fc98770f6aabfbde18e5c74786240f71bb0b22da233debcbe8e4
|
|
BLAKE2b-256 checksum How to use checksums |
bad3d5d13b534d1f08a26d65c696c241926c73accccf6917f9f8aa1b77159870
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / liblinks_and_nodes-2.9.0-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | liblinks_and_nodes-2.9.0-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.4 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
dd6709e573dd2b4aaf9ce6055c63077bc858204ff5683a08e6f19e88ee217f47
|
|
BLAKE2b-256 checksum How to use checksums |
c3b1249a0efb1c6f4c954e272598553a202c635aaf730e01384bbe98f2c33022
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|