v1.6.2
A maintenance / audit release: bug fixes, Pythonic conveniences, and expanded docs.
Fixed
pose()(default MediaPipe backend, the optional[pose]extra) now falls back to OpenPosebody_25when MediaPipe isn't installed, instead of erroring — so it works out of the box.- Result attributes no longer shadow their own methods (a second call failed):
tempo_similarity,phase_synchrony,structure_comparison,body_audio_coupling,dynamics_coupling→*_figure; warp result →self.warp_video. blend()ignored itsfilenameargument;grid()ignored itstarget_nameargument.- Stale
overwritedocstrings, undocumentedconvertparams, and quickstart errors (invalidscale=, wrong_motiondata.csv/_descriptors.csv/.avinames).
Added
- Informative
reprforMgVideo(frames, fps, size, audio) andMgAudio. MgVideo.duration(seconds) /MgVideo.n_framesproperties andMgAudio.duration— clearing up thelengthfootgun.MgImage.save(path)andMgFigure.save(path).- Docs: optional-dependency/extras matrix, core-class conveniences, a "Which method should I use?" disambiguation table, and
pose_center()/pose_distance()with examples + images.
See the CHANGELOG for full details.