Skip to main content

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

  1. Model Provisioning - How to fetch and manage models.
  2. Coordinate Transforms - Bridging Willow to ROS, Unity, and Unreal.
  3. Robotics & Retargeting - Extracting joint angles for RL & Simulation.
  4. Physics Evaluation - Scoring form and efficiency at the edge.
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

willow_runtime-5.1.1.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

willow_runtime-5.1.1-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

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

Hashes for willow_runtime-5.1.1.tar.gz
Algorithm Hash digest
SHA256 5eb4d7739ad8600967d2884b01c2f59a41ef469a3c9d604a6ee9bdc1e64a8220
MD5 763c8e9bc33194575a1e6b666a16a928
BLAKE2b-256 bdc7f9c8a63e32cd2cc0c40ff87a56dbd0bb29fc2edc9462cdc3d0366714b95c

See more details on using hashes here.

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

Hashes for willow_runtime-5.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ddb1a539b679af16d9d18944d5a85098b8b9e9077c019cbfc9bb7814d38d5cc3
MD5 461021af73e4c40e5e9ac2a6c99d44e4
BLAKE2b-256 1bc9398be83051b8a07f953068af6c4fc653f2e148ce0dd4ffe7cdf84f7fea33

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page