Metadata-Version: 2.4
Name: zeroArm_sdk
Version: 0.1.2
Summary: Official SDK for ZeroArm robotic arm (proprietary)
Home-page: https://github.com/HANCKH/zeroArm_python_sdk
Author: ForceEase Co.
Author-email: "ForceEase Co." <support@forceease.tech>
License: MIT
Project-URL: Source, https://github.com/HANCKH/zeroArm_python_sdk
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Cython
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pyzmq>=25.0
Requires-Dist: websockets
Requires-Dist: zeroconf
Requires-Dist: tqdm
Dynamic: author
Dynamic: home-page
Dynamic: license
Dynamic: requires-python

# ZeroArm Python SDK

Official Python SDK for ForceEase ZeroArm robotic arms.

## Connection Notes

- Use `RobotArm().auto_discover_and_connect()` for the default LAN workflow.
- Use `connect_with_short_sn()` with at least the first 8 serial-number characters in multi-arm environments.
- mDNS discovery only accepts connectable IPv4 addresses and ignores loopback or unspecified addresses such as `127.0.0.1` and `0.0.0.0`.
- The controller advertises WebSocket control port `8888` and bridge port `8889`; SDK mode uses the fixed ZMQ command/state ports `6666/6667`.

## Current Protocol Coverage

- `set_tf(..., plan_mode=0)` uses joint-space planning; `plan_mode=1` uses Cartesian planning.
- `enable_hold_current()` asks the controller to hold all configured joints at their current feedback positions.
- `set_joints_batch()` sends a single `raw_msg` command through the normal `commands_<serial>` topic.

## Build Notes

- `pyproject.toml` declares Cython as a build-system dependency for isolated builds.
- For direct `setup.py` builds, install `requirements-build.txt` first.
- `setuptools` is capped below 80 to stay compatible with ROS `colcon-core` in the shared development environment.

## Release

- Publish Python SDK releases through `.github/workflows/build-wheels.yml`.
- A GitHub Release with action `published` builds the sdist plus Linux, Windows, and macOS wheels, then uploads all distributions to PyPI in one publish job.
- The workflow expects `PYPI_API_TOKEN` to be configured as a GitHub Actions secret.

## Version

Current SDK source version: `0.1.2`.
