Metadata-Version: 2.4
Name: griip-sdk
Version: 0.1.1
Summary: GRIIP SDK: hardware control and orchestration for bin picking
License: Proprietary
Keywords: Vention,GRIIP,SDK,Robot,Gripper,Automation
Author: VentionCo
Requires-Python: >=3.10,<3.11
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: PyYAML (>=6.0,<7.0)
Requires-Dist: defusedxml (>=0.7.1,<0.8.0)
Requires-Dist: grpcio (>=1.78.0)
Requires-Dist: httpx (>=0.28.1,<0.29.0)
Requires-Dist: numpy (>=1.24,<2)
Requires-Dist: omegaconf (>=2.3.0,<3.0.0)
Requires-Dist: opencv-python-headless (>=4.9.0,<5.0.0)
Requires-Dist: paho-mqtt (>=1.5,<2.0)
Requires-Dist: protobuf (>=4.0)
Requires-Dist: pydantic (==2.11.1)
Requires-Dist: pymodbus (==3.11)
Requires-Dist: scipy (>=1.11.0,<2.0)
Requires-Dist: spatialmath-python (>=1.1.15,<2.0.0)
Requires-Dist: toppra (>=0.6.0,<0.6.6)
Requires-Dist: trimesh (>=4.11,<5.0)
Requires-Dist: urchin (>=0.0.30,<0.0.31)
Requires-Dist: vention-firmware-grpc-client (>=1.1.0)
Description-Content-Type: text/markdown

# griip-sdk

Python SDK for hardware control and orchestration of gripper-based bin picking on Vention's MachineMotion platform.

## Installation

```bash
pip install griip-sdk
```

## Requirements

The SDK is a gRPC client. It needs a MachineMotion reachable on the network with the `mmai-griip-api` service running (installed via its Debian package). All hardware-side dependencies — including the private `vamp_planner` and `foundationstereoclient` wheels — are owned and installed by the API's `.deb`, not by SDK consumers.

## Quickstart

```python
from griip_sdk import BaseGripper, GripperMoveResult, Robotiq2F140Gripper

gripper = Robotiq2F140Gripper(host="<machineMotion-ip>")
result: GripperMoveResult = gripper.move(position=0.5)
```

## What's NOT shipped on PyPI

In-repo example apps under `src/griip_sdk/prototyping/projects/**` (dormakaba, mcalpine) are excluded from the published wheel via `pyproject.toml`. They consume the SDK in direct-import mode and depend on `mmai_griip_api`; they stay on disk for development and tests only.

## Releases

griip-sdk is part of the `python-packages` Nx Release group. Versioning and publishing are automatic on master:

- Conventional commits drive semver bumps (`feat:` → minor, `fix:`/`chore:` → patch).
- On every push to master, the `build-test-release-deploy` workflow runs Nx Release, which updates `version` in `pyproject.toml`, regenerates the changelog, and publishes the wheel to PyPI via `nx-release-publish`.
- No manual workflow trigger needed — do not hand-edit `version` in `pyproject.toml`.

