Metadata-Version: 2.4
Name: jharness-repository
Version: 0.2.2
Summary: Memory, SQLite, MySQL, and Redis checkpoint repositories for JHarness
Project-URL: Documentation, https://github.com/Ezio2000/jharness/tree/main/docs
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.2.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 in-memory, SQLite, MySQL, and Redis implementations of the JHarness
`RunRepository` protocol.

```bash
# Memory and SQLite only
uv add jharness-repository

# Add exactly the remote drivers the application uses
uv add "jharness-repository[mysql]"
uv add "jharness-repository[redis]"
uv add "jharness-repository[mysql,redis]"
```

```python
from jharness.repository import MemoryRunRepository
```

The base installation has no database-driver dependency. `MemoryRunRepository` needs
no service, and SQLite uses Python's embedded `sqlite3` module. MySQL and Redis load
their selected client only when that backend is initialized; there is no fallback or
compatibility driver. Their services remain supplied by the application, while the
JHarness development suite exercises them in disposable Docker containers.

The source, contracts, and release process are maintained in the
[JHarness repository](https://github.com/Ezio2000/jharness).
