Metadata-Version: 2.4
Name: jharness-repository
Version: 0.3.2
Summary: Memory, SQLite, MySQL, and Redis checkpoint repositories for JHarness
Project-URL: Documentation, https://github.com/Ezio2000/jharness/blob/main/docs/repositories.md
Project-URL: Repository, https://github.com/Ezio2000/jharness.git
Author: JHarness contributors
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: jharness-kernel==0.3.2
Provides-Extra: mysql
Requires-Dist: pymysql[rsa]>=1.2.0; extra == 'mysql'
Provides-Extra: redis
Requires-Dist: redis>=8.0.1; extra == 'redis'
Description-Content-Type: text/markdown

# jharness-repository

Official memory, SQLite, MySQL, and Redis implementations of the JHarness kernel
repository protocol.

```bash
uv add jharness-repository
uv add "jharness-repository[mysql]"
uv add "jharness-repository[redis]"
```

```python
from jharness.repository import (
    MemoryRunRepository,
    MySQLRunRepository,
    RedisRunRepository,
    SQLiteRunRepository,
)
```

Memory and SQLite require no optional driver. MySQL and Redis load only the selected
extra when that backend initializes. All implementations consume atomic
`DurableCommit` values and expose `get_head(run_id)` for complete recovery.

Backend selection, lifecycle, MySQL TLS, and Redis Cluster setup are documented in the
[repository guide](https://github.com/Ezio2000/jharness/blob/main/docs/repositories.md).
Installing this distribution installs the exact matching `jharness-kernel` version.
