Pose CLI — open motion-analysis toolkit for sports scientists
Project description
Pose CLI
Open motion-analysis toolkit for sports scientists.
pip install pose-platform — analyze 3D skeleton data on your machine.
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 chatLLM 对话:需额外安装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
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 pose_platform-1.25.2.tar.gz.
File metadata
- Download URL: pose_platform-1.25.2.tar.gz
- Upload date:
- Size: 454.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de9e562447499b9f2a4492f622e33a1f63a07c315229f77099ceec6bbf7d3c33
|
|
| MD5 |
9c126c960f809cc108276cda2fa57226
|
|
| BLAKE2b-256 |
7da5c8fae39a8da25855131f6d8ec8af0bbf06a866d2c80e67f844bd84a95903
|
File details
Details for the file pose_platform-1.25.2-py3-none-any.whl.
File metadata
- Download URL: pose_platform-1.25.2-py3-none-any.whl
- Upload date:
- Size: 445.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37b59feba6b50dd51855d79b6de55c237a786b95af50e16422313c85dc7be5ad
|
|
| MD5 |
adc6294d1afbe29f6c79ed195f71e9bb
|
|
| BLAKE2b-256 |
5d8b6556d427ece36d8894c7107e6ae111daba45c6cb59eab1da3d3a3416b42e
|