Registry / ai-ml / kiss-icp

kiss-icp

JSON →
library1.3.0pypypi✓ verified 84d ago

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
INSTALL
IMPORT
SIG · KISS-ICP
K
kiss-icp
ai-mlpythonv1.3.0
Install
33.2s avg
Import
Disk
117MB
Pass rate
3/ 10
Env Coverage3 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.3.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✕ build_error
✓ 41.05s
py 3.11
✕ build_error
✓ 26.55s
py 3.12
✕ build_error
1/2 runs
py 3.13
✕ build_error
1/2 runs
py 3.9
✕ build_error
✓ 32.1s
117MB installed
● package 117MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

kiss_icp
import kiss_icp
Registration
from kiss_icp import Registration
from kiss_icp.registration import Registration
The recommended API is top-level; the old submodule path may break.
KissICP
from kiss_icp.pipeline import KissICP
from kiss_icp import KissICP
KissICP is in the pipeline module, not top-level.
VoxelHashMap
from kiss_icp.voxel_map import VoxelHashMap
from kiss_icp import VoxelHashMap
VoxelHashMap is in the voxel_map submodule.

Minimal example to set up the pipeline and register a frame.

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)
kiss_icp --version
Debug
Known issues
breakingIn 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).
affects: <1.0.0
breakingIn 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.
affects: <1.0.0
gotchaThe 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.
affects: <1.3.0
deprecatedROS 1 support was dropped in v0.4.0. Use ROS 2 wrapper instead.
fix
Use the ros2 extra: pip install kiss-icp[ros2]
affects: >=0.4.0
gotchaPydantic 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.
affects: >=0.4.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'kiss_icp'
Library not installed or installed in wrong environment.
fix
Run 'pip install kiss-icp' in the correct Python environment.
ImportError: cannot import name 'KissICP' from 'kiss_icp'
Wrong import path for the pipeline class.
fix
Use 'from kiss_icp.pipeline import KissICP' instead of 'from kiss_icp import KissICP'.
AttributeError: 'KISSConfig' object has no attribute 'dict'
Pydantic v2 change: .dict() removed in favor of .model_dump().
fix
Replace .dict() with .model_dump() on config objects. Example: config.model_dump()
Upgrade
Version history
1.3.0latest on PyPI · released Apr 26, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
6 hits · last 30 days
node
6
Resources
kiss-icp — pip install kiss-icp · libregistry