The unofficial Python3 driver for Livox lidar sensors ;)
The OpenPyLivox (OPL) library is a near complete, fully pythonic, implementation of the Livox SDK. This means that almost all the functionality available within official Livox software (e.g., Livox-Viewer) and their C++ based API, has been included here within the OpenPyLivox library. Ok, ok ... maybe not quite as cool or as functional as the Livox-Viewer, ... yet!
This library and associated documentation, is designed for ANYONE and EVERYONE to be able to use it. From students and teachers interested in using lidar/laser scanning in STEM curriculum or projects, to researchers investigating lidar for autonomous vehicle/robot navigation!
See the Wiki Pages for complete documentation!
Check out the livox_controller_demo.py file for a very detailed example on how to use the OpenPyLivox library to control and capture point cloud data from a single Livox sensor, as well as from multiple Livox sensors simultaneously!
NOTES:
Quirky Fact: Intensity (a.k.a., Reflectivity in the Livox documentation) has a hyphen in the middle of it for OPL CSV point clouds in order to 'trick' CloudCompare into assigning the field as a scalar type by default. This enables displaying the point cloud in CloudCompare using a more visually appealing colour spectrum (e.g., left image below). It also provides a way to (possibly) help filter out some unwanted noisy data. Of course, the colour scheme can be changed to many other options, after importing the point cloud in CloudCompare (e.g., greyscale in right image below)
![]() |
![]() |
![]() |
![]() |