Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -6,6 +6,8 @@ All notable user-facing changes are recorded here. Versions follow

## [Unreleased]

## [0.1.0rc2] - 2026-08-09

### Added

- `oglo acceptance`, an owner-facing USB pair test that uses public SDK APIs,
Expand All@@ -19,6 +21,9 @@ All notable user-facing changes are recorded here. Versions follow
longer active upstreams
- documented firmware 0.9.10/schema 6 as the only supported live-glove baseline;
retained 0.9.9/schema-6 captures solely as historical decoder provenance
- removed the unused `pair_id` contract and `allow_unpaired` escape; two-glove
connection now relies on one left side, one right side, and distinct logical
serials

## [0.1.0rc1] - 2026-08-07

Expand DownExpand Up@@ -50,5 +55,6 @@ First public release candidate.
- zero persistence requires a power-cycle read-back when it is a release gate
- multi-hour and slow-storage target-host qualification remain deployment tasks

[Unreleased]: https://github.com/OpenGraphLabs/oglo-python/compare/v0.1.0rc1...HEAD
[Unreleased]: https://github.com/OpenGraphLabs/oglo-python/compare/v0.1.0rc2...HEAD
[0.1.0rc2]: https://github.com/OpenGraphLabs/oglo-python/compare/v0.1.0rc1...v0.1.0rc2
[0.1.0rc1]: https://github.com/OpenGraphLabs/oglo-python/releases/tag/v0.1.0rc1
6 changes: 3 additions & 3 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -9,7 +9,7 @@ Python access to the OGLO five-finger tactile glove: 80 taxels per hand at a
nominal 250 Hz over USB, plus accelerometer, gyroscope, and optional magnetometer
streams.

> **Release candidate:** `0.1.0rc1` is a USB-first research SDK for the supported
> **Release candidate:** `0.1.0rc2` is a USB-first research SDK for the supported
> live-glove baseline, firmware 0.9.10/schema 6. The decoder retains historical
> 0.9.9/schema-6 vector compatibility, but 0.9.9 is not a deployment target. BLE
> is available as an experimental transport and is not release-qualified.
Expand All@@ -34,14 +34,14 @@ private or staging repository is an active upstream.
Download the wheel from the matching [GitHub Release](https://github.com/OpenGraphLabs/oglo-python/releases), then install it locally:

```bash
python3 -m pip install ./oglo-0.1.0rc1-py3-none-any.whl
python3 -m pip install ./oglo-0.1.0rc2-py3-none-any.whl
```

To install the tagged source instead:

```bash
python3 -m pip install \
"oglo @ git+https://github.com/OpenGraphLabs/oglo-python.git@v0.1.0rc1"
"oglo @ git+https://github.com/OpenGraphLabs/oglo-python.git@v0.1.0rc2"
```

Python 3.10 or newer is required.
Expand Down
6 changes: 3 additions & 3 deletions docs/01_quickstart.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -6,18 +6,18 @@ Download the wheel from the matching
[GitHub Release](https://github.com/OpenGraphLabs/oglo-python/releases), then:

```bash
python3 -m pip install ./oglo-0.1.0rc1-py3-none-any.whl
python3 -m pip install ./oglo-0.1.0rc2-py3-none-any.whl
```

Or install the immutable source tag:

```bash
python3 -m pip install \
"oglo @ git+https://github.com/OpenGraphLabs/oglo-python.git@v0.1.0rc1"
"oglo @ git+https://github.com/OpenGraphLabs/oglo-python.git@v0.1.0rc2"
```

Python 3.10 or newer is required. Supported live gloves run firmware 0.9.10 with
schema 6. `0.1.0rc1` can still parse historical 0.9.9/schema-6 captures, but that
schema 6. `0.1.0rc2` can still parse historical 0.9.9/schema-6 captures, but that
parser tolerance is not deployment support; upgrade a live 0.9.9 glove before use.

## Diagnose before collecting data
Expand Down
2 changes: 1 addition & 1 deletion docs/02_data_reference.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,7 +21,7 @@ The IMU packet cadence is not the physical sensor ODR. Firmware configures the
accelerometer/gyroscope at 200 Hz but polls/emits its latest value on a nominal 2 ms
schedule, so adjacent 500-packet/s records may contain the same physical measurement.

The supported live contract is firmware 0.9.10/schema 6. `0.1.0rc1` retains parser
The supported live contract is firmware 0.9.10/schema 6. `0.1.0rc2` retains parser
tolerance for historical 0.9.9/schema-6 vectors and recordings, but live collection
must use 0.9.10. Other schemas and older firmware fail closed instead of inviting a
best-effort packet guess.
Expand Down
4 changes: 2 additions & 2 deletions docs/06_compatibility.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -5,7 +5,7 @@ physical gloves. They are different claims.

## Supported contract

| Component | Status in 0.1.0rc1 |
| Component | Status in 0.1.0rc2 |
| --- | --- |
| Python | 3.10 or newer |
| Live-glove firmware | 0.9.10 |
Expand All@@ -16,7 +16,7 @@ physical gloves. They are different claims.
| Firmware 0.9.9 | historical parser/vector compatibility only; upgrade before live use |
| Firmware 0.9.8 and older | rejected |

The `0.1.0rc1` parser floor remains 0.9.9 so historical schema-6 golden vectors and
The `0.1.0rc2` parser floor remains 0.9.9 so historical schema-6 golden vectors and
recordings stay readable. That tolerance is not a live-device support claim. The
deployed fleet and physical release qualification use 0.9.10/schema 6; unknown
schemas and firmware older than 0.9.9 fail closed rather than selecting a
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "oglo"
version = "0.1.0rc1"
version = "0.1.0rc2"
description = "Python SDK for the OGLO five-finger tactile glove"
readme = "README.md"
requires-python = ">=3.10"
Expand Down
2 changes: 1 addition & 1 deletion src/oglo/__init__.py
Original file line numberDiff line numberDiff line change
Expand Up@@ -34,7 +34,7 @@
find_port, list_candidates, open_serial)
from ._usb import UsbTransport as _UsbTransport

__version__ = "0.1.0rc1"
__version__ = "0.1.0rc2"

__all__ = [
"connect",
Expand Down
2 changes: 1 addition & 1 deletion tests/test_replay_corruption.py
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,7 +45,7 @@ def _meta(counts=None):
return {
"schema": 2,
"complete": True,
"sdk_version": "0.1.0rc1",
"sdk_version": "0.1.0rc2",
"serial": "OGLO-L-TEST01",
"side": "left",
"hw_rev": "RDR02_FLEX5_REV_D_TIA",
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.