Skip to main content

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