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 Oracle 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

  • Dual Spatial Engines: Natively decodes V40 (Scale-Invariant) and V41 (Absolute Physics/Metric) signatures.
  • Object Tracking (Node 76): Natively process human-object interactions (tools, balls) in a unified 3D metric space.
  • Local Execution: Run Zero-Shot Action Recognition entirely on the edge using ultra-compressed .int8 binaries.
  • Sim-to-Real Retargeting: Convert Computer Vision coordinates 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.

Spatial Engine Modes (New in Q2 2026)

The SDK automatically parses the binary header of your model to determine its mathematical routing:

  • Universal Models (Scale-Invariant): Evaluates structural form and sequence. Distances are mathematically normalized by torso length, allowing a 5-foot subject and a 6-foot-5 subject to yield a 100% match. Expects a (75, 3) generic coordinate array.
  • Physics Models (Metric Space): Evaluates exact volumetric paths and physical velocities (m/s). Normalization is bypassed. Expects coordinates to be provided in absolute Meters, utilizing a (76, 3) array where Index 75 represents the tracked reference object.

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) or (76, 3) numpy array
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 or 76, 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_full_body_quaternions(ros_ready_sequence)

print(f"Spine Quaternion: {angles['spine']}")

Documentation Sections

Support & Licensing

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

© 2026 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.8.tar.gz (18.2 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.8-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: willow_runtime-5.2.8.tar.gz
  • Upload date:
  • Size: 18.2 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.8.tar.gz
Algorithm Hash digest
SHA256 753ed66609def3dcf42ea41f78462e9f0fcced073b48e414823fd5fc93b5d645
MD5 2cd74ff9af951a18a222ee35cd9709d2
BLAKE2b-256 750cca345534b476e310e673237332bd14b6b0947d802f92a62e5ca06ae4a2a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: willow_runtime-5.2.8-py3-none-any.whl
  • Upload date:
  • Size: 17.3 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 de7fe3ca0474f80008f75ea7e279ac2dc996a4806495cb8c2c5b2f91e563986b
MD5 8206c9f82eb5615bbd6f1ee0487b5610
BLAKE2b-256 7ecf491fbd9980c3a232ea4aa8274f84642ba97a0b93bd4b227374cef5b62943

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