ClaudeScope v1.2.1 — telemetry export + Python client.
The recommended workflow is now cs → parquet → pandas: pull raw series with range --format parquet and do transforms in pandas.
Highlights
- Parquet / CSV export —
range --format csv|parquetemits pandas-ready long-format{key,timestamp,value}rows (pandas.read_parquet/read_csv). Parquet preserves native bool/float64/string types and true nulls. - WPILib struct decoding —
struct:Pose2d,ChassisSpeeds,SwerveModuleState[],Rotation2d/3d,Translation2d/3d,Pose3d,Transform2d/3d,Twist2d/3d,SwerveModulePosition,Quaternionnow decode to named-field objects inget/rangeinstead of an opaque base64 blob. - Python client (
claudescope-py) — wraps the CLI and returnspandas.DataFrames directly.Session.range_df(*keys, pivot=False)is the primary path; alsoload/connect/sessions/get/range/find_bool/find_threshold/stats/set. - Bug fixes — hardened CLI error handling (clean codes, no nested/mangled JSON); fixed query-stats aggregation and parquet falsy-value nulling.
Not included
The experimental SPL pipe-query language (query/query-multi) is not part of this release — it was too new to ship. It's preserved on the spl branch and may return in a future release.
Binaries: Windows / Linux / macOS (amd64 + arm64) attached below.