Metadata-Version: 2.4
Name: snapchore
Version: 0.4.0
Summary: Transition installer for SnapChore Core and the SmartBlocks Network SDK
License-Expression: MIT
Project-URL: Homepage, https://smartblocks.network
Project-URL: Documentation, https://docs.smartblocks.network/snapchore
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: snapchore-core[moment-auth]>=0.2.0
Requires-Dist: sbn-sdk>=0.14.0
Dynamic: license-file

# snapchore transition package

The former standalone network client duplicated the SnapChore client already
shipped by `sbn-sdk` and installed files into the same `snapchore` import
namespace as `snapchore-core`. That made co-installation order-dependent.

This project is now a metadata-only transition installer. It owns no Python
modules and therefore cannot shadow or overwrite `snapchore-core`.

## Package ownership

| Distribution | Import | Responsibility |
| --- | --- | --- |
| `snapchore-core` | `snapchore` | Local hashing, Moment Auth, verification, replay protection, and evidence chains |
| `sbn-sdk` | `sbn` | SBN transport, remote SnapChore operations, promotion, receipts, and attestation |
| `snapchore` | none | Transition installer only |

## Local SnapChore and Moment Auth

```bash
pip install "snapchore-core[moment-auth]>=0.2.0"
```

```python
from snapchore import SmartBlock, snapchore_capture, verify_moment_claim
```

## SBN network operations

```bash
pip install "sbn-sdk>=0.14.0"
```

```python
from sbn import SbnClient

client = SbnClient(base_url="https://api.smartblocks.network")
client.authenticate_api_key("sbn_live_abc123")
result = client.snapchore.capture({"event": "signup", "user": "u-42"})
```

## Migrating from 0.3

Replace the old standalone client:

```python
from snapchore import SnapChoreClient

client = SnapChoreClient(base_url=base_url)
client.authenticate(api_key)
result = client.capture(payload)
```

with the canonical SBN client:

```python
from sbn import SbnClient

client = SbnClient(base_url=base_url)
client.authenticate_api_key(api_key)
result = client.snapchore.capture(payload)
```

Do a clean reinstall when moving from `snapchore==0.3.0`, because that release
and `snapchore-core` could both have recorded ownership of the same installed
files.

Version `0.4.0` is the first metadata-only transition release.
