KISS-ICP
raw JSON → 1.3.0 verified Fri May 01 auth: no python
KISS-ICP is a simple yet effective LiDAR odometry pipeline for real-time 3D registration. Version 1.3.0 is currently released on PyPI with Python 3.8+ support. The library is in active development with periodic releases.
pip install kiss-icp Common errors
error ModuleNotFoundError: No module named 'kiss_icp' ↓
cause Library not installed or installed in wrong environment.
fix
Run 'pip install kiss-icp' in the correct Python environment.
error ImportError: cannot import name 'KissICP' from 'kiss_icp' ↓
cause Wrong import path for the pipeline class.
fix
Use 'from kiss_icp.pipeline import KissICP' instead of 'from kiss_icp import KissICP'.
error AttributeError: 'KISSConfig' object has no attribute 'dict' ↓
cause Pydantic v2 change: .dict() removed in favor of .model_dump().
fix
Replace .dict() with .model_dump() on config objects. Example: config.model_dump()
Warnings
breaking In v1.0.0, environment variables were renamed from 'KISS_ICP_*' to 'KISS_ICP_*' (prepended with 'kiss_icp_') ↓
fix Update any scripts or configurations that set environment variables to use the new prefix (e.g., KISS_ICP_MAX_RANGE -> KISS_ICP_MAX_RANGE still same, but check new names).
breaking In v1.0.0, the Python API changed significantly. The old top-level import 'from kiss_icp import KissICP' may no longer work. ↓
fix Use 'from kiss_icp.pipeline import KissICP' and consult the updated documentation.
gotcha The library uses C++ extensions and may require a C++ compiler on first install, especially on ARM systems (before v1.3.0). v1.3.0 improved ARM support via pip. ↓
fix For ARM, upgrade to v1.3.0 or install from source with a C++ compiler.
deprecated ROS 1 support was dropped in v0.4.0. Use ROS 2 wrapper instead. ↓
fix Use the ros2 extra: pip install kiss-icp[ros2]
gotcha Pydantic models changed from .dict() to .model_dump() in recent versions. If you use custom configs, update accordingly. ↓
fix Replace .dict() calls with .model_dump() on config objects.
Install
pip install kiss-icp[all] Imports
- kiss_icp
import kiss_icp - Registration wrong
from kiss_icp.registration import Registrationcorrectfrom kiss_icp import Registration - KissICP wrong
from kiss_icp import KissICPcorrectfrom kiss_icp.pipeline import KissICP - VoxelHashMap wrong
from kiss_icp import VoxelHashMapcorrectfrom kiss_icp.voxel_map import VoxelHashMap
Quickstart
import kiss_icp
from kiss_icp.pipeline import KissICP
config = kiss_icp.config.KISSConfig()
pipeline = KissICP(config)
# Example registration of a single frame
import numpy as np
frame = np.random.rand(100, 3).astype(np.float64) # replace with actual LiDAR frame
pose = pipeline.register_frame(frame)
print(pose)