Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pangolin at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.3 |
License | MIT |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stevenlovegrove/Pangolin.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-15 |
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
- Steven Lovegrove
- Christian Rauch
Authors
- Steven Lovegrove
What is Pangolin
Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.
Main features
- Cross Platform Windowing
- Build for Windows, Linux, OSX and the Web (with Emscripten)
- Support different windowing implementations including off-screen buffers
- Viewport Management and Interaction
- Simple and performant viewport management
- Intuitive 3D navigation and handlers
- Utilities to work with Computer Vision & Robotics camera and coordinate conventions
- Video Input and Output
- Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
- Flexible filter interface for easily post-processing video channels and formats, etc.
- Tweak Variables
- There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
- One-line definitions and extensible types
- Drop-down Console
- Extensible for different shells, but currently supports Python live console
- Easy access to introspect tweak variables
Code
Find the latest version on Github:
# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
Dependencies
Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):
# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended
# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all
You’ll see the dependencies are generally
- Build system (cmake, required)
- Windowing system (X11, Cocoa, Win, Web, …)
- Rendering (OpenGL, GLES)
- Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
- Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)
Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake ..
stage and look for the Found and Enabled lines.
Building
Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):
# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended
# Configure and build
cmake -B build
cmake --build build
# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build
# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install
# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest
p.s. The master branch is a development branch. Choose a stable tag if you prefer.
File truncated at 100 lines see the full file