What's Changed
* Add skeleton utilities by talmo in https://github.com/talmolab/sleap-io/pull/76
- `Skeleton.add_node`: Add a node by name or object.
- `Skeleton.add_edge`: Add an edge by lists of names or objects.
- `Skeleton.add_symmetry`: Add a symmetry edge by lists of names or objects.
* Update CI and versions by talmo in https://github.com/talmolab/sleap-io/pull/77
- Update dependency ranges (see below)
- Update action workflow versions
- Enable M1 mac runners
- Expand python version range to 3.7-3.12
- Note: Python 3.7 is no longer tested in CI due to lack of conda-forge compatability.
- Enable pure conda-forge dependency setup
* Bump to v0.1.0 by talmo in https://github.com/talmolab/sleap-io/pull/78
* Fix multi-skeleton loading by talmo in https://github.com/talmolab/sleap-io/pull/79
- Fixes 71.
* Add high level APIs by talmo in https://github.com/talmolab/sleap-io/pull/80
- Add `load_video` and `load_file` high level APIs (48)
* Labels QOL enhancements by talmo in https://github.com/talmolab/sleap-io/pull/81
- `LabeledFrame.remove_predictions`: Remove predicted instances from a labeled frame.
- `LabeledFrame.remove_empty_instances`: Remove instances with no visible points from a labeled frame.
- `Labels.save`: Instance-level convenience wrapper for `sio.save_file`.
- `Labels.clean`: Remove unused or empty frames, instances, videos, skeletons and tracks.
- `Labels.remove_predictions`: Remove predicted instances from all labeled frames (69).
- `Labels.__getitem__`: Now supports lists, slices, numpy arrays, tuples of `(Video, frame_idx)` and `Video`.
* Video QOL enhancements by talmo in https://github.com/talmolab/sleap-io/pull/82
- `Video.is_open`: Checks if the video exists and the backend is set.
- `Video.open`: Opens or restarts the backend for reading.
- `Video.close`: Closes the backend for reading.
- `Video.exists`: Check if the filename for the video exists.
- `Video.replace_filename`: Replace the filename and restart the backend.
Notes on dependency pins
- `ffmpeg < 6.1` due to https://github.com/imageio/imageio-ffmpeg/issues/99
- `h5py >= 3.8.0` due to https://github.com/h5py/h5py/issues/2118
- `python >= 3.8` due to `h5py >= 3.8.0` (we still support `python==3.7` via pip but this is not longer in CI)
**Full Changelog**: https://github.com/talmolab/sleap-io/compare/v0.0.14...v0.1.0