Cactus Search
Synced from the repository
This page mirrors the auki_robotics_cactus_search README (branch develop).
The repository is the source of truth.
Robotics wrapper for Cactus product search and position retrieval. This project provides Python and C++ implementations of the Cactus API client, ported from the React Native reference implementation.
Overview
This repository contains implementations of the Cactus product search and recommendations API client in two languages:
- Python (
/python) - Modern Python implementation with type hints - C++ (
/cpp) - C++17 implementation with modern features
Both implementations provide:
- Product search with pagination
- Infinite scroll/pagination support
- Product recommendations
- 3D pose information retrieval
Quick Start
Python
cd python
pip install -r requirements.txt
See python/README.md for detailed documentation.
C++
cd cpp
mkdir build && cd build
cmake ..
make
See cpp/README.md for detailed documentation.
API Endpoints
Both implementations interact with the Cactus public API:
- Search:
POST https://cactus-public-api.lookingglassprotocol.com/search/page - Recommendations:
POST https://cactus-public-api.lookingglassprotocol.com/recommended
Features
- ✅ Paginated product search
- ✅ Infinite scroll support
- ✅ Product recommendations
- ✅ 3D pose information
- ✅ Error handling
- ✅ Type-safe data structures
Project Structure
.
├── python/ # Python implementation
│ ├── api_client.py # API client
│ ├── models.py # Data models
│ ├── infinite_search.py # Infinite search logic
│ └── README.md # Python documentation
└── cpp/ # C++ implementation
├── include/ # Header files
├── src/ # Source files
├── examples/ # Example programs
├── CMakeLists.txt # Build configuration
└── README.md # C++ documentation