Skip to main content

Pose CLI — motion analysis toolkit. Install sports via extras: pose-platform[badminton]

Project description

Pose CLI

Open motion-analysis toolkit for sports scientists. pip install pose-platform — analyze 3D skeleton data on your machine.

PyPI version Python 3.10+

pip install pose-platform
pose analyze data/session.csv --tool stats

What is Pose CLI?

Pose CLI turns 3D body-skeleton data into reproducible sports analytics. It runs entirely on your machine — your data never leaves your computer.

Pose Coach Recording → JointData3D CSV → pose analyze --tool <name> → JSON Output

11 built-in analysis tools, two supported sports:

Category Tools Sport
General (any movement) stats, detect_peak_energy, segment_motion_phases, detect_velocity, detect_action_boundaries, detect_highlight freeplay
Running (reference implementation) measure_running_speed, score_sprint, analyze_running_gait, score_running_efficiency sprint
Multi-sport analyze_motion_angles both

Sprint tools serve as a reference for building your own sport-specific tools. See contributing guide →

Quickstart

pip install pose-platform

# 获取示例数据(内置在包中,无需网络)
pose sample

# Run your first analysis
pose analyze sample_sprint.csv --tool stats

# Explore available tools
pose tools && pose sports

# LLM-powered analysis (optional — needs openai SDK + API key)
pip install openai>=1.50
export POSE_DEEPSEEK_API_KEY=sk-xxx
pose chat ./data

Installation

  • Python 3.10+ required. Works on macOS, Linux, Windows.
  • pose chat LLM 对话:需额外安装 pip install openai>=1.50,并设置 API Key:
    # DeepSeek(推荐,邮箱注册即得)
    export POSE_DEEPSEEK_API_KEY=sk-xxx
    # 或 Qwen / 其他 CN provider
    export POSE_CN_API_KEY=sk-xxx
    
    详见 pose chat 使用指南
  • Full guide: posecap.com/posecli/docs/

Data Format

Pose CLI reads JointData3D CSV (12-column, no header):

timestamp, joint, wx, wy, wz, mx, my, mz, ldq_x, ldq_y, ldq_z, ldq_w

Record with Pose Coach (iOS, TestFlight) or convert from OpenPose / MediaPipe / motion capture. Data format reference →

Commands

pose analyze <file.csv> --tool <name> [--param key=value]  # Run analysis
pose sample                                                    # Copy sample data to CWD
pose tools [--sport <id>] [--detail]                         # List tools
pose sports                                                   # List sports
pose gaps list|submit|show|summary                            # Track feature requests
pose chat [data_dir]                                          # LLM-powered analysis
pose cache list|clear                                         # Manage cache
pose telemetry stats [--since 7d]                             # Usage statistics
pose version [--changelog]                                    # Version info

Extending Pose CLI

Every analysis tool is a Python class. Build your own:

from capabilities.tools.base import DirectTool
from capabilities.tools.loader import load_pose
import json
from pathlib import Path

class MyTool(DirectTool):
    name = "my_tool"
    supported_sports = ["basketball"]  # or [] for all
    input_schema = {"type": "object", "properties": {"path": {"type": "string"}}, "required": ["path"]}

    def run(self, tool_input: dict, output_dir: Path) -> str:
        pose = load_pose(tool_input["path"])
        # your analysis here
        return json.dumps({"result": 42}, ensure_ascii=False)

Register a new sport in 3 lines of config. Contributing →

From Source (Platform Developers)

Pose CLI is the public distribution of the Pose Platform. The full platform (in this repository) also includes the Pose Coach backend, operations tooling, and badminton-specific analysis tools — these are excluded from the pip package.

git clone <repo-url>
cd pose_platform
pip install -e .

License

Pose CLI is distributed under the Pose Platform License v1.0:

  • Research use: free for academic and educational purposes
  • Commercial use: requires a separate agreement
  • Attribution: cite the Pose Platform in publications

Citation

@software{pose_platform,
  title = {Pose Platform: Open Motion Analysis Toolkit},
  author = {{PoseCap Inc.}},
  year = {2026},
  url = {https://github.com/posecap/pose-platform},
}

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

pose_platform-1.25.7.tar.gz (453.2 kB view details)

Uploaded Source

Built Distribution

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

pose_platform-1.25.7-py3-none-any.whl (443.1 kB view details)

Uploaded Python 3

File details

Details for the file pose_platform-1.25.7.tar.gz.

File metadata

  • Download URL: pose_platform-1.25.7.tar.gz
  • Upload date:
  • Size: 453.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for pose_platform-1.25.7.tar.gz
Algorithm Hash digest
SHA256 55ea924ed72f166ddf1c0ddbcfd6190f387e96e1d67720b5f46d1d05c2299670
MD5 02302125e123b15d6edd53bed0a7e33a
BLAKE2b-256 6fdf98e64f0aa9b972c245187fd4ffed25451bdff58e37b963553acfab9249a8

See more details on using hashes here.

File details

Details for the file pose_platform-1.25.7-py3-none-any.whl.

File metadata

  • Download URL: pose_platform-1.25.7-py3-none-any.whl
  • Upload date:
  • Size: 443.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for pose_platform-1.25.7-py3-none-any.whl
Algorithm Hash digest
SHA256 358aca123f62035ab3e4c53780e9ae887e089f689d519ea8fab8fd900a6521c1
MD5 262667bd3fd469e1f68e77796126b05e
BLAKE2b-256 fb7eb4b5c73d4ed680b8341f3343ec9020c8caf0d1faa1df099c943ffe3d7bce

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