Willow 5 Runtime: Action Recognition, Retargeting, & Edge Evaluator
Project description
Willow 5 Runtime SDK
The official Python SDK for Willow Dynamics.
This SDK acts as the bridge between the Willow Cloud Oracle and your local environment. It enables Zero-Shot Action Recognition, Kinematic Retargeting, and Physics Evaluation on edge devices, cloud pipelines, and simulation clusters.
It is designed to be dependency-light (No AWS/Boto3 required) and privacy-first (Models run in ephemeral RAM).
Installation
pip install willow-runtime
1. Quick Start: Model Provisioning
Securely fetch your proprietary action models from the Willow Cloud.
from willow import WillowClient
# Initialize with your API Key
client = WillowClient(api_key="YOUR_WILLOW_API_KEY")
# Option A: Stream directly to RAM (Secure / Cloud / Ephemeral)
# The model never touches the physical disk.
model = client.get_model("tactical-reload-v1")
# Option B: Download to Disk (Offline / Edge / Air-Gapped)
client.download_model("tactical-reload-v1", "./models/reload.int8")
2. Usage: Active Streaming (Real-Time)
Best for Robotics, Webcams, or Smart Gyms where frames arrive one by one. The step() method manages an internal sliding window buffer for zero-latency triggering.
from willow import WillowClient, WillowDetector
# 1. Load Model
client = WillowClient(api_key="YOUR_API_KEY")
model = client.get_model("tactical-reload-v1")
detector = WillowDetector(model)
# 2. The Real-Time Loop
# Assume 'get_next_frame()' returns a (75, 3) numpy array of skeletal data
while True:
current_skeleton, timestamp_ms = get_next_frame()
# .step() executes in <2ms on modern CPUs
event = detector.step(current_skeleton, timestamp_ms)
if event:
print(f"!!! ACTION DETECTED !!!")
print(f"Timestamp: {event['end_ms']}ms | Confidence: {event['confidence']:.2f}")
# Trigger Actuator / Robot / UI here
3. Usage: Batch Analysis (Passive)
Best for Data Science, Historical Video Processing, or Cloud ETL pipelines.
from willow import WillowClient, WillowDetector
import numpy as np
# 1. Load Model
client = WillowClient(api_key="YOUR_API_KEY")
model = client.get_model("golf-swing-v4")
detector = WillowDetector(model)
# 2. Load Data (e.g., from an uploaded video file processed by MediaPipe)
# Shape: (Frames, 75, 3)
full_sequence = np.load("recording_data.npy")
timestamps = [t * 33 for t in range(len(full_sequence))]
# 3. Detect All Occurrences
matches = detector.detect(full_sequence, timestamps)
print(f"Found {len(matches)} events:")
for m in matches:
print(f" - {m['start_ms']}ms to {m['end_ms']}ms (Conf: {m['confidence']:.2f})")
4. Usage: Sim-to-Real & Robotics
Best for Reinforcement Learning (RL), NVIDIA Isaac Sim, and Humanoid Teleoperation. Bridges the gap between Computer Vision coordinates and Robotics standards.
from willow import CoordinateBridge, KinematicRetargeter
# 1. Convert Coordinate Space
# MediaPipe (Y-Down) -> ROS/Isaac Sim (Z-Up)
ros_ready_sequence = CoordinateBridge.to_ros_z_up(raw_skeleton_sequence)
# 2. Extract Joint Angles for RL Training
# Returns dictionary of 1D angle arrays (e.g., "right_elbow_flexion")
joint_angles = KinematicRetargeter.extract_joint_angles(ros_ready_sequence)
print(f"Extracted {len(joint_angles)} joint features for simulation training.")
Documentation Sections
- Model Provisioning - How to fetch and manage models.
- Coordinate Transforms - Bridging Willow to ROS, Unity, and Unreal.
- Robotics & Retargeting - Extracting joint angles for RL & Simulation.
- Physics Evaluation - Scoring form and efficiency at the edge.
- Topology Map - The Willow 75-point joint index reference.
Support & Licensing
Willow 5 Runtime is a paid service. A valid Partner License is required to fetch models from the Cloud Oracle.
License
MIT License. Copyright (c) 2026 Willow Dynamics.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file willow_runtime-5.1.1.tar.gz.
File metadata
- Download URL: willow_runtime-5.1.1.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5eb4d7739ad8600967d2884b01c2f59a41ef469a3c9d604a6ee9bdc1e64a8220
|
|
| MD5 |
763c8e9bc33194575a1e6b666a16a928
|
|
| BLAKE2b-256 |
bdc7f9c8a63e32cd2cc0c40ff87a56dbd0bb29fc2edc9462cdc3d0366714b95c
|
File details
Details for the file willow_runtime-5.1.1-py3-none-any.whl.
File metadata
- Download URL: willow_runtime-5.1.1-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddb1a539b679af16d9d18944d5a85098b8b9e9077c019cbfc9bb7814d38d5cc3
|
|
| MD5 |
461021af73e4c40e5e9ac2a6c99d44e4
|
|
| BLAKE2b-256 |
1bc9398be83051b8a07f953068af6c4fc653f2e148ce0dd4ffe7cdf84f7fea33
|