face_detection / PUBLISHING.md
Boopathy Sivakumar
Initial commit without binary files
9e89884
|
Raw
History Blame Contribute Delete
2.52 kB

Packaging & Publishing to Reachy Mini

This app follows the standard Reachy Mini app contract:

  • A FaceDetection(ReachyMiniApp) class implementing run(reachy_mini, stop_event).
  • A __main__ block in face_detection/main.py that calls FaceDetection().wrapped_run().
  • A reachy_mini_apps entry point in pyproject.toml:
    [project.entry-points."reachy_mini_apps"]
    reachy-mini-face-detection = "face_detection.main:FaceDetection"
    
  • A reachy_mini_python_app tag in README.md frontmatter (required for the app store).

1. Validate the structure

uv pip install reachy-mini
reachy-mini-app-assistant check .

2. Test locally against the daemon

You can run the app directly while the daemon is up (use --sim if you have no hardware):

reachy-mini-daemon --sim        # or: reachy-mini-daemon   (Lite)
python -m face_detection.main

Or install it and drive it from the dashboard like a real user:

uv pip install -e .
# open http://127.0.0.1:8000/  -> the app appears in the installed list

3. Publish to Hugging Face

uv pip install --upgrade huggingface_hub
hf auth login                    # token needs Write permission

# First time: create the Space + git remote from this folder
reachy-mini-app-assistant publish .

# Subsequent updates
git add . && git commit -m "update" && git push

Once published, any Reachy Mini owner can install it in one click from the dashboard (its README carries the reachy_mini_python_app tag).

4. Install on a robot

From the dashboard: click Install on the app.

Via REST API:

curl -X POST http://reachy-mini.local:8000/api/apps/install \
  -H "Content-Type: application/json" \
  -d '{"url": "https://huggingface.co/spaces/<user>/reachy_mini_face_detection"}'

curl -X POST http://reachy-mini.local:8000/api/apps/start-app/face_detection
curl -X POST http://reachy-mini.local:8000/api/apps/stop-current-app

Offline (e.g. at a conference, Wireless unit):

scp -r . pollen@reachy-mini.local:/tmp/face_detection
ssh pollen@reachy-mini.local "/venvs/apps_venv/bin/pip install /tmp/face_detection"

Notes

  • numpy and opencv-python are the only runtime dependencies; both ship prebuilt wheels for Windows, Linux and macOS, and the Haar cascades are bundled with OpenCV (no model download).
  • The robot SDK (reachy-mini) is an optional [robot] extra so the detection and behaviour logic can be developed and tested on any laptop.