Metadata-Version: 2.4
Name: wuji-sdk
Version: 0.8.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: mypy ; extra == 'dev'
Provides-Extra: dev
Summary: Wuji SDK: Python package for automatic device discovery and real-time data streaming with Wuji devices.
Keywords: wuji,sdk,robotics
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# wuji-sdk

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Release](https://img.shields.io/github/v/release/wuji-technology/wuji-sdk)](https://github.com/wuji-technology/wuji-sdk/releases) ![Coverage](https://raw.githubusercontent.com/wuji-technology/wuji-sdk/badges/coverage.svg)

Python SDK for Wuji series devices. Provides automatic device discovery, connection management, and real-time data streaming for Wuji Glove and other Wuji peripherals. Features type-safe semantic API with native async/await and callback-based subscription support, multi-channel MCAP recording, and rich hand tracking data including joint angles, skeleton, and fingertip poses.

**Get started with [Quick Start](#quick-start). For detailed documentation, please refer to [Wuji Docs Center](https://docs.wuji.tech/docs/en/wuji-glove/latest/).**

## Repository Structure

```text
├── examples/                      # Example scripts demonstrating SDK usage patterns
│   ├── 0.subscribe_callback.py
│   ├── 1.subscribe_async.py
│   └── 2.recording.py
├── CHANGELOG.md                   # Version history and release notes
├── LICENSE                        # MIT license file
└── README.md
```

## Quick Start

### Installation

```bash
pip install wuji-sdk
```

### Running

```python
import time
from wuji_sdk import SdkManager

manager = SdkManager.instance()
devices = manager.scan()
if not devices:
    print("No devices found")
    exit()
glove = manager.connect(sn=devices[0].sn, device_name="glove")

sub = glove.tactile().subscribe_with_callback(
    callback=lambda frame: print(f"Max pressure: {max(frame.data):.2f}")
)

time.sleep(10)
sub.close()
```

## Contact

For any questions, please contact [support@wuji.tech](mailto:support@wuji.tech).

