Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |
Launch files
Messages
Services
Plugins
Recent questions tagged libnabo at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ethz-asl/libnabo.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-01-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Stéphane Magnenat
Authors
- Stéphane Magnenat

[//]: # ( ==== Title ================================================= ) # _libnabo_ [//]: # ( ==== Hyperlink ============================================= ) NorLab TeamCity GUI (VPN/intranet access) • norlabulaval (Docker Hub)
[//]: # ( ==== Description =========================================== ) **libnabo is a fast K Nearest Neighbour library for low-dimensional spaces.**
[//]: # (====GitHub badges========================================================================)
libnabo provides a clean, legacy-free, scalar-type–agnostic API thanks to C++ templates. Its current CPU implementation is strongly inspired by [ANN], but with more compact data types. On the average, libnabo is 5% to 20% faster than [ANN].
Dependencies:
- libnabo depends on [Eigen], a modern C++ matrix and linear-algebra library.
- libnabo works with either version 2 or 3 of Eigen.
- libnabo also optionally depends on [Boost], a C++ general library, for Python bindings.
Credit:
- libnabo was developed by Stéphane Magnenat as part of his work at ASL-ETH
- libnabo is now maintained by NorLab
If you are interested in a pure-Rust version, check that repository out.
Supported OS And Architecture
libnabo is tested on our build system under the following architecture and OS:
- x86 and arm64/v8
- Ubuntu bionic (18.04) and focal (20.04)
Note:
- libnabo reportedly works on MacOs OsX (latest) and Windows (latest)
★ Version 1.1.0
Release Note
This release of libnabo introduces the integration of norlab-build-system (NBS) as a git submodule for codebase development and testing.
Execute the following to clone the repository with its submodule:
git clone --recurse-submodules https://github.com/norlab-ulaval/libnabo.git
If libnabo was previously cloned, execute the following to fetch its new submodule
```bash git submodule update –remote –recursive –init
File truncated at 100 lines see the full file
Changelog for package libnabo
1.1.2 (2024-05-23)
- Merge pull request #137 from norlab-ulaval/github-action-api-docs Add a GitHub action to upload API documentation to a webpage
- CMake read libnabo version from package.xml, instead of the header of nabo.h
- Merge pull request #136 from norlab-ulaval/release Mod docker compose services for running with docker-container driver
- ci: update submodule to latest and mod service for docker-container driver
- ci: force norlab-teamcity-server release build configuration [skip release]
- Contributors: Luc Coupal, RedLeaderOne, boxanm
1.1.1 (2024-03-19)
- Update README.md
- Set minimum required CMake version to 3.10.2
- (origin/dev-feat-integrate-norlab-build-system-library-and-implement-linabo-build-system-NMO-405) style: renamed [.*test_compilation.*]{.title-ref} services and target to [.*integration_test.*]{.title-ref} for clarity.
- doc(readme): mute ubuntu jammy from supported OS version until libpointmatcher build pass on jammy
- ci: drop ubuntu jammy from build matrix
- doc: add missing norlab light logo
- doc: add missing norlab light logo
- doc: update header with dynamic logo, fix hyperlink, add dockerhub badge and fix relative link
- doc(pull_request_template.md): fix typo
- doc(readme): add norlab logo to header and improve intro
- test: add release crawler script bats test
- build: add release crawler script and .env file
- doc(readme): update header
- build: update repo version format
- doc: clean pr comment
- feat: integrate norlab-build-system library and implement linabo-build-system [NMO-405]
- build: Added norlab-shell-script-tools submodule to repository [NMO-405]
- build: Added norlab-build-system submodule to repository [NMO-405]
- chore: added a code owner designation file, a pull request template and a conventional commit reference file
- Update README.md
- Update README.md with cmake guide
- Use CMakePackageConfigHelpers to generate config files. Fill libnabo_INCLUDE_DIRS and libnabo_LIBRARIES variables.
- Fix Cmake Syntax invoked by Nabo's version regex. Updated min cmake version to 3.8
- more robust extraction of version
- Remove dependency on grep + Improve findstr command
- Use findstr instead of grep on Windows
- Date range and catch-all for authors
- Upgrade all syntax to package format 3
- format "3" specifier for condition flag
- Keep catkin for ROS1
- Create LICENSE file based on BSD license as per package.xml
- catkin not required for pure cmake packages
- Added link to Rust version.
- Replace TABS with SPACES
- Automaticaly find eigen3
- Fix install-space include directories
- fix missing eigen headers in python module
- add complete cmake exported-targets usage example
- option to disable doxygen; cmake clean up
- better handling of STATIC build option
- modernize cmake to have exported targets
- Make library git submodule-friendly
1.0.7 (2019-02-07)
- Disabled cmake compile tests by default and on compilers that do not support them (#95)
- Fix Python 2 bindings support in CMake scripts (#90)
- Port libnabo to c++11 (#89)
- Remove register keyword in index_heap.h (#88)
- Fix compilation warning for MSVC (#85)
- Assert template type for invalid setters (#80)
- Return numerically maximal index (unsigned) or -1 (signed) for no match case (#79)
- Add generate step for ${PROJECT_BINARY_DIR}/libnaboConfig.cmake (#76)
- Removed compiler-specific flags for compilers that do not support them (#74)
- Added cmake_policy(SET CMP0054 NEW) (#73)
- Output compiler message with compile test fatal error in cmake (#72)
- Removed erroneous commas from test/CMakeLists.txt (#71)
- Removed fatal "," suffix from FATAL_ERROR in CMakeLists.txt (#70)
- Fixed regression concerning installed libnaboConfig.cmake (#65)
- Fix/relax compiler requirements (#63)
- Removed hard dependency on the doc target (#62)
- Install any.hpp (#61)
- Remove boost::any and boost:format dependencies (#59)
- Port the python bindings to python3 (#57)
- Added cmake switch to disable usage of OpenMP (#53)
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
libpointmatcher |