Skip to main content

Willow 5 Runtime: Action Recognition, Retargeting, & Edge Evaluator

Project description

Willow 5 Runtime SDK (Python)

Version License: MIT

The Willow 5 Runtime SDK is the local execution environment for the Willow Dynamics platform.

While the Willow Cloud is used to train and generate proprietary Action Models, this SDK allows you to download and execute those models locally on your own hardware. It acts as the bridge between Willow's biomechanical intelligence and your edge devices, robotics, or reinforcement learning simulations.

Core Capabilities

  • Local Execution: Run Zero-Shot Action Recognition entirely on your device using .int8 binary signatures.
  • Sim-to-Real Retargeting: Convert Computer Vision coordinates (MediaPipe) into ROS (Z-Up) and Unity formats natively.
  • Edge Physics: Calculate Jerk, Acceleration, and Power without cloud latency using the ported Da Vinci engine.
  • DRM-Compliant: Models can load securely into ephemeral RAM to protect Intellectual Property.

Installation

pip install willow-runtime

Configuration

To fetch models, you must initialize the WillowClient with credentials provided in your Partner Dashboard:

  1. API URL: The endpoint of your dedicated Willow Gateway.
  2. API Key: Your secure access token (authenticates the connection).
  3. Customer ID: Your specific Tenant ID (scopes the data access).
from willow import WillowClient

client = WillowClient(
    api_url="https://api.your-gateway.com",
    api_key="sk_live_...",
    customer_id="cust_12345"
)

Usage Guide

1. 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 (Secure RAM Stream)
client = WillowClient(api_url="...", api_key="...", customer_id="...")
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
    event = detector.step(current_skeleton, timestamp_ms)
    
    if event:
        print(f"Action Detected at {event['end_ms']}ms | Confidence: {event['confidence']:.2f}")
        # Trigger Actuator / Robot / UI here

2. Batch Analysis (Passive)

Best for Data Science and Historical Video Processing. Processes an entire sequence array at once.

from willow import WillowDetector, load_local_model
import numpy as np

# Load model from disk (Offline Mode)
model = load_local_model("models/golf-swing-v4.int8")
detector = WillowDetector(model)

# Input: (Frames, 75, 3)
matches = detector.detect(full_sequence, timestamps)

print(f"Found {len(matches)} events.")

3. Robotics & Sim-to-Real

Bridges the gap between Computer Vision coordinates and Robotics standards for NVIDIA Isaac Sim or ROS.

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
angles = KinematicRetargeter.extract_joint_angles(ros_ready_sequence)

print(f"Elbow Flexion: {angles['right_elbow_flexion']}")

Documentation Sections

Support & Licensing

The Willow Runtime is a premium commercial service. A Partner License is required to provision models.

© 2025 Willow Dynamics. All rights reserved.

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.2.0.tar.gz (17.8 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.2.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file willow_runtime-5.2.0.tar.gz.

File metadata

  • Download URL: willow_runtime-5.2.0.tar.gz
  • Upload date:
  • Size: 17.8 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.2.0.tar.gz
Algorithm Hash digest
SHA256 ef12aca22ad0aec145bce695d8da18aa7d9bc994b1bfe7fb33fc8ea6d917c2d2
MD5 2b9a9e492c0f799d82c457b25f1588f3
BLAKE2b-256 202298e4fdbe7b8630533a0d9d01d617855bb10e5ae59d4cef7d213cef25736a

See more details on using hashes here.

File details

Details for the file willow_runtime-5.2.0-py3-none-any.whl.

File metadata

  • Download URL: willow_runtime-5.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.7 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4bc43f66bdeca0f87a32f912350539c19ff3b4256eee9209d9855e6adb367496
MD5 e7744a76e1cd13e39a5cb21d0922e5dc
BLAKE2b-256 3d08d5b457d1eeb801ca1ce249ac8c8a957469bffc481fa99435d970d354b865

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