Metadata-Version: 2.4
Name: band-sdk-core
Version: 0.2.1.dev4
Classifier: Development Status :: 3 - Alpha
Summary: Shared Rust core for the Band SDK stack: claims registry, retry tracking, and participant tracking, with Python bindings via PyO3.
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# band-sdk-core

Shared Rust core for the Band SDK stack, exposed to Python via PyO3: a message claims
registry, a retry tracker, and a participant tracker, plus an optional tracing bridge.
See the [repo README](https://github.com/band-ai/band-sdk-core) for the full workspace
layout and how this binding fits alongside the Rust crates and the Node binding.

```bash
pip install --pre band-sdk-core  # currently pre-release only, see Versioning below
```

## Usage

```python
import band_sdk_core as core

registry = core.MessageClaimRegistry(max_completed=500)
with registry.claim("room-1", "msg-1") as acquired:
    if acquired:
        ...  # handle the message; released automatically on exit, even on exception

retry = core.MessageRetryTracker(max_retries=3)
attempt, exceeded = retry.record_attempt("msg-1")

participants = core.ParticipantTracker("room-1")
participants.add(core.TrackedParticipant(id="user-1", name="Alice"))
```

Optional tracing bridge (`RUST_LOG`-filtered, defaults to `info`):

```python
with core.Tracing():
    ...
```

## Versioning

This package is currently shipping as an ongoing pre-release stream
(`X.Y.Z.devN`) — install with `pip install --pre band-sdk-core` or pin an exact
version. A stable release will follow once the API settles.

Ships `py.typed` and a `.pyi` stub for full type-checker support.

