Package Layout
This page describes the public source checkout and the installed runtime layout.
Public Source Checkout
The published source surface is split by role.
librux- entry repository withinstall.sh,librux.repos, and release metadata.librux-sdk- Python/C++ SDK source, public specs, C ABI headers, guided tutorials, runnable transport tutorials, managed package tutorials, and benchmark runners.librux-docs- documentation source for the published docs site.- published docs site - user-facing documentation.
The public checkout focuses on SDKs, tutorials, benchmarks, specs, and docs.
Runtime implementation binaries are installed through the installer.
librux-demo is a separate robotics application demo repository, not a source
tree exported by the core release pipeline.
Installed Runtime Layout
The published installer places runtime artifacts under the selected prefix,
normally /opt/librux.
<prefix>/runtime/bin- user-facing runtime CLIs such aslibrux,librux-control,librux-config,librux-package,librux-launch,librux-subsystem,librux-resourced,librux-doctor, andlibrux-timesync.<prefix>/runtime/lib- native runtime libraries used by the SDKs and tutorials.<prefix>/runtime/config.yaml- installed runtime config.<prefix>/runtime/spec- installed fallback copy of public specs.<prefix>/runtime/frontend- packaged Web Console frontend assets, when present in the target bundle.<prefix>/sdk/python- platform-specific Python wheel payloads.<prefix>/sdk/cpp- installed C++ SDK payload.<prefix>/tutorials- installed guided tutorial source and runnable tutorial fixtures.<prefix>/benchmarks- installed benchmark runners for transport and timing measurement.<prefix>/licenses- runtime EULA, open-source license documents, third-party notices, and download/install data notice.<prefix>/systemd- Librux service unit sources linked from/etc/systemd/system.<prefix>/var- Librux-owned state, logs, and service home directories.<prefix>/var/lib/packages- managed package registry and unpacked packages for product installs. The system service helper prepares this path for the non-rootlibrux-control.serviceuser.<prefix>/env.sh- shell helper that exportsLIBRUX_PREFIX,LIBRUX_RUNTIME_ROOT,LIBRUX_SPEC_ROOT, and related paths.<prefix>/bin/librux-uninstall- uninstaller for service links and the selected prefix.
Top-level entry points point into the runtime tree.
<prefix>/bin -> <prefix>/runtime/bin<prefix>/spec -> <prefix>/runtime/spec<prefix>/config.yaml -> <prefix>/runtime/config.yaml
SDK Notes
Python SDK metadata lives in sdk/python/pyproject.toml. The source package is
Apache-2.0 and can be installed from a public checkout with this command.
python3 -m venv .venv
. .venv/bin/activate
. /opt/librux/env.sh
pip install -e sdk/python
Python wheel outputs are platform-specific but CPython ABI-independent
(py3-none-<platform>) because the Rust core library is packaged as data rather
than as a CPython extension module. Use the editable source install path above
when working from a public checkout or when the active Python environment needs
to build directly from source.
The installed-user binary SDK surface is Python and C++. Rust is an internal runtime implementation language rather than a primary public SDK surface.
Public Specs
Public loaders resolve specs from external roots first.
LIBRUX_SPEC_PATH, when setLIBRUX_SPEC_ROOT, normally from<prefix>/env.sh- installed fallback roots such as
<prefix>/spec - packaged fallback specs inside the Python SDK
This lets users overlay custom YAML specs while keeping the installed public spec tree available as a fallback.
Source Boundary
The installed tree is sufficient for normal tutorial and benchmark use. Public source checkouts are still the supported editable source surface for SDK changes, advanced benchmark matrix tooling, demos, specs, and docs. Runtime binaries are installed through the installer rather than built by ordinary application users.